Dynamo Cpython でのpip

最近のDynamo、RevitでいうRevit2022からでは、これまで利用されていたIronPythonからCpythonも利用できるようになった。

Cpythonが利用できないうちは、なんで普通のPythonが利用できないんだ!という疑問があった。しかし今度は、Revit2023になってIronPythonがデフォルトで利用できないようになってなんでIronPythonが利用できないんだ!

と思うようになり、顧客の自分勝手さを感じている(笑)


ところで、Dynamoに同梱されるCpythonはpipコマンドが利用できない。
そのため、下記のような議論を見かける。

  • Anacondaを入れろ!

  • 通常のPythonを入れろ!

  • Dynamo内に同梱するpythonにpipを入れろ!

以上のような派閥が存在するようだが、ここでは、3つ目のDynamoに同梱されるCpythonだけでpipを利用する方法を紹介したいと思う。

同梱されるpythonは配布用の最小構成が用意されているものを利用しているようです。

このpythonにpipを入れていきます。
まずは下記の中の

https://bootstrap.pypa.io/get-pip.py

get-pip.pyというファイルをダウンロードします。
これを

C:\Users\{UserName}\AppData\Local\python-3.8.3-embed-amd64

フォルダ{UserName}を自身のPC名に書き換えたフォルダに保存します。

C:\Users\{UserName}\AppData\Local\python-3.8.3-embed-amd64

のフォルダ内にある、「python38._pth」というファイルをメモ帳などで開き、最終行にある、

#import site

#を削除し

import siteとなるようにします。

その後、pythonでget-pip.pyを実行します。

cmdをget-pip.pyを保存したフォルダで実行します。

python get-pip.py

すると下記のようなScriptフォルダが作成されます。

このScriptフォルダ内にpipコマンド用のファイルがあります。

ここでcmdを実行するとpipが利用できるようになります。

この方法でパッケージをインストールすると、Dynamo内のPythonScript上で、パッケージの場所のPathを指定する必要が無いので良いと思います。

以上の方法は下記に書いてあるものですので、直接読めるかたは下記を参考にすると良いかと思います。


余談だが、この手間を見ても、Dynamoは検討用(個人利用)としての利用を推奨されているように感じる。

この記事が気に入ったらサポートをしてみませんか?