環境変数またはを使用して、パスを直接変更する必要はありませんsys.path
。os(例:)を使用するapt-get
場合pip
でも、virtualenvで使用する場合でも、パッケージはすでにパス上の場所にインストールされます。
あなたの例では、GNU Radio site-packages
はすでにパスにあるシステムPython 2の標準の場所にインストールされています。PyCharmを正しいインタープリターに向けるだけで十分です。それがなければ、明らかではない何か他の問題があります。それは/usr/bin/python
、GNU Radioがインストールされたのと同じインタープリターを指していない可能性があります。特にpython2.7
バイナリをポイントしてみてください。または、PyCharmは以前はパッケージの検出がやや悪かったです。File > Invalidate Caches > Invalidate and Restart
再スキャンするように指示します。
この回答では、プロジェクト環境のセットアップ方法、さまざまなシナリオでのパッケージのインストール方法、PyCharmの構成方法について説明します。公式のPythonパッケージツールを管理している同じグループが作成したPythonパッケージユーザーガイドを何度も参照します。
Pythonアプリケーションを開発する正しい方法は、virtualenvを使用することです。 パッケージやバージョンは、システムや他のプロジェクトに影響を与えることなくインストールされます。 PyCharmには、virtualenvを作成してパッケージをインストールするための組み込みインターフェースがあります。 または、コマンドラインから作成して、PyCharmをポイントすることもできます。
$ cd MyProject
$ python2 -m virtualenv env
$ . env/bin/activate
$ pip install -U pip setuptools # get the latest versions
$ pip install flask # install other packages
PyCharmプロジェクトで、に移動しFile > Settings > Project > Project Interpreter
ます。virtualenvwrapper
またはPyCharmを使用してenvを作成した場合、それはメニューに表示されます。そうでない場合は、歯車をクリックしてを選択Add Local
し、envでPythonバイナリを見つけます。PyCharmは選択した環境内のすべてのパッケージを表示します。
GNU Radioなどの一部のケースでは、でインストールするpip
パッケージがないため、GNU Radioの残りの部分(例apt-get install gnuradio
)をインストールすると、パッケージがシステム全体にインストールされました。この場合、virtualenvを使用する必要がありますが、このシステムパッケージを認識させる必要があります。
$ python2 -m virtualenv --system-site-packages env
残念ながら、すべてのシステムパッケージがenvに表示されるため、少し乱雑に見えますが、それらは単なるリンクであり、システムに影響を与えずにパッケージを安全にインストールまたはアップグレードできます。
場合によっては、開発中のローカルパッケージが複数あり、1つのプロジェクトで他のパッケージを使用する必要があります。この場合、ローカルパッケージを他のプロジェクトのパスに追加する必要があると思うかもしれませんが、そうではありません。パッケージは開発モードでインストールする必要があります。これに必要なのは、パッケージにファイルを追加setup.py
することだけです。これは、とにかくパッケージを適切に配布して展開するために必要です。
setup.py
最初のプロジェクトでは最小限:
from setuptools import setup, find_packages
setup(
name='mypackage',
version='0.1',
packages=find_packages(),
)
次に、2番目のプロジェクトの環境にインストールします。
$ pip install -e /path/to/first/project