Python、仮想環境の構築メモ
Python 3.4以降、仮想環境を作成するvenvってのが標準搭載されるようになったそうで、じゃぁそれを使いましょうとなります。
仮想環境を構築するコマンドは
python3 -m venv [仮想環境名]
ってことになります。これで現在のPythonのプロジェクトフォルダにvenvって仮想環境を作成するとvenvフォルダが作成され、その中でモジュールのインストールなどが行われていきます。例えばデスクトップにProjectフォルダがあったとして、その中でこのコマンドを実行すると
$ mkdir ~/Desktop/Project
$ cd ~/Desktop/Project/
$ python3 -m venv venv
$ ls
venv
ってな具合。こうして作成した環境だけど、これを有効化する必要があります。プロジェクトフォルダ内で
source venv/bin/activate
です。単にvenvフォルダができるだけでなく、有効化・無効化のための仕組みがフォルダ内に構築されていたわけです。これを有効化してたターミナルではプロンプト前に (venv) って表記が付きます。
(venv) MachineName user$
無効化する際は deactivate コマンドを走らせるだけです。プロンプト前に(venv)とついている状態ならそのまま実行できるわけっすね。
ということで簡単に仮想環境を構築する事ができました。
ところでこうして構築した環境をBlnederから利用できないのかなと思ったのだけど、とりあえずは、venv下のsite-packagesを sys.path.append() 使って追加すれば良さそうです。
もっとも、BlenderのPythonにモジュールを追加する場合、正攻法としては、Blender.app下のPython環境でまずpipを動くようにして、そのpipを使ってインストールするのだそうで。Python 3.4以降、pipをインストールするためのモジュールがPython標準で組み込まれているそうだから、BlenderのPythonの入ったパスで(2.82なら/Applications/Blender.app/Contents/Resources/2.82/python/bin/)で
./python3.7m -m ensurepip
./python3.7m -m pip install --upgrade pip
って実行するとpipが入って、パッケージマネージャが最新になります。そのpipを使ってインストールっすね。インストールされたモジュールを見る場合は ./python3.7m -m pip list で、2.82を入れたばかりの環境でこれを実行すると
Package Version
---------- ---------
certifi 2019.6.16
chardet 3.0.4
idna 2.8
numpy 1.17.0
pip 20.0.2
requests 2.22.0
setuptools 40.8.0
urllib3 1.25.3
となりました。なるほど。