私はPythonで独自のパッケージを持っていて、それを頻繁に使用しています。PYTHONPATH や sys.path を操作せずにパッケージをインポートできるように、パッケージを配置する必要がある最も洗練された、または従来のディレクトリは何ですか?
たとえば、サイトパッケージはどうですか?
/usr/lib/python2.7/site-packages
.
そこにパッケージをコピーして貼り付けるのはpythonで一般的ですか?
私はPythonで独自のパッケージを持っていて、それを頻繁に使用しています。PYTHONPATH や sys.path を操作せずにパッケージをインポートできるように、パッケージを配置する必要がある最も洗練された、または従来のディレクトリは何ですか?
たとえば、サイトパッケージはどうですか?
/usr/lib/python2.7/site-packages
.
そこにパッケージをコピーして貼り付けるのはpythonで一般的ですか?
私は通常、インポートする準備ができているものをユーザー サイト ディレクトリに置きます。
~/.local/lib/pythonX.X/site-packages
プラットフォームに適したディレクトリを表示するには、次を使用できますpython -m site --user-site
編集:sys.path
作成すると表示されます:
mkdir -p "`python -m site --user-site`"
したがって、私のような初心者で、ディレクトリがあまり整理されていない場合は、この方法を試してください。
Python ターミナルを開きます。私の場合は numpy など、動作することがわかっているモジュールをインポートして、次の手順を実行します。
Import numpy
numpy.__file__
その結果、
'/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site- packages/numpy/__init__.py'
の結果numpy.__file__
は、モジュールとともにpythonファイルを配置する必要がある場所です(を除くnumpy/__init__.py
)ので、私にとっては
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site- packages
これを行うには、端末に移動して入力するだけです
mv "location of your module" "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site- packages"
これで、モジュールをインポートできるはずです。
This is something that works for me (I have to frequently create python packages that are uploaded to a private pip repository). elaborating on the comment by @joran on the question.
python setup.py sdist --format=tar
. the package created should ideally be in the dist
folder.pip install <yourpackage>.tar
you can use pip install --force-reinstall
if you need to play around with the libraries more and re-create the dist packages.
I've found that this method works great for me. If you do not need to package the modules for use of other systems instead of just your local, this method might be an overkill
Happy hacking.
私のMacでは、sudo find / -name "site-packages"
. 、、、など/Library/Python/2.6/site-packages
のいくつかのパスが表示されました。/Library/Python/2.7/site-packages
/opt/X11/lib/python2.6/site-packages
そのため、v2.7 または v2.6 を使用している場合、モジュールを配置する場所はわかっていました。
それが役に立てば幸い。