web-dev-qa-db-ja.com

Pycharmにモジュールをインポートするにはどうすればいいですか?

PyCharm に、Python環境/usr/bin/pythonを追加しました。しかしながら、

from gnuradio import gr

未定義の参照 として失敗します。ただし、Pythonインタプリタではコマンドラインからはうまく機能します。

GNURadioはPycharmの外ではpythonとうまく働きます。すべてがインストールされ、私がそれを望むように構成されています。

Gnuradioは/usr/local/lib/python2.7/site-packages/gnuradioにあります。

また:

PYTHONPATH =/usr/local/lib/python2.7/site-packages:/usr/local/lib/python2.7/site-packages/gnuradio

158
smurff

パスを追加する

ファイル→設定→プロジェクト設定→プロジェクトインタプリタに移動します。

その後、インタプリタの設定を押して、[パス]タブに移動します。

pycharm path tab

パス領域の+ボタンを押します。認識したいモジュールへのパスを設定できます。

しかし、私はその道を知りません。

モジュールをインポートできるpythonインタプリタを開きます。

>> import gnuradio
>> gnuradio.__file__
"path/to/gnuradio"

ほとんどの場合、このようなフォルダ構造になります。

foobarbaz/
  gnuradio/
    __init__.py
    other_file.py

ここにfoobarbazをパスに追加します。

194
FakeRainBrigand

環境変数またはsys.pathを使用して、パスを直接変更する必要は決してありません。 os(例えばapt-get)を使用するか、virtualenvでpipを使用するかにかかわらず、パッケージはすでにパス上にある場所にインストールされます。

この例では、GNU RadioがシステムPython 2の標準のsite-packagesの場所にインストールされています。これはすでにパスに含まれています。 PyCharmを正しいインタプリタに向けるだけで十分です。そうでない場合、明らかではない何か他の問題があります。 GNU Radioがインストールされているのと同じインタプリタを/usr/bin/pythonが指していない可能性があります。特にpython2.7バイナリをポイントしてみてください。あるいは、PyCharmはパッケージを検出するのがやや悪いのです。 File > Invalidate Caches > Invalidate and Restartは再スキャンを指示します。

この回答では、プロジェクト環境の設定方法、さまざまなシナリオでのパッケージのインストール方法、そしてPyCharmの設定方法について説明します。私は公式のPythonパッケージ化ツールを管理している同じグループによって書かれた Python Packaging User Guide を何度も参照しています。


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を使って環境変数を作成した場合は、メニューに表示されます。そうでない場合は、装備をクリックし、Add Localを選択して、envでPythonバイナリを見つけます。 PyCharmは選択された環境にある全てのパッケージを表示します。

choose an env

manually locate env


GNU Radioのような場合によっては、pipを使ってインストールするパッケージがなく、残りのGNU Radioをインストールするときにシステム全体にインストールされていました(例:apt-get install gnuradio)。 )この場合でも、virtualenvを使用する必要がありますが、このシステムパッケージを認識させる必要があります。

$ python2 -m virtualenv --system-site-packages env

残念ながら、これは少し面倒です。すべてのシステムパッケージが環境に表示されるようになりますが、それらは単なるリンクにすぎず、システムに影響を与えずにパッケージを安全にインストールまたはアップグレードできます。


場合によっては、開発中のローカルパッケージが複数あり、一方のプロジェクトでもう一方のパッケージを使用したいことがあります。この場合、他のプロジェクトのパスにローカルパッケージを追加する必要があると思うかもしれませんが、そうではありません。あなたのパッケージは 開発モード でインストールするべきです。これが必要とするのは あなたのパッケージに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
76
davidism

私にとっては、ディレクトリをソースルートとしてマークするだけの問題でした。

39
michaelsnowden

私のバージョンはPyCharm Professional edition 3.4であり、 パスの追加 の部分は異なります。

あなたは "Preferences" - > "Project Interpreter"に行くことができます。右上隅にあるツールボタンを選択してください。

次に、[More ...] - > [選択したインタプリタのパスを表示] - > [Add]を選択します。それからあなたはパスを追加することができます。

37
chenlian

PyCharm 2017にパスを追加

[ファイル] - > [設定](またはCtrl + Alt + S) - > [プロジェクト] - > [プロジェクトインタプリタ]

enter image description here すべて表示する

enter image description here 右側の一番下のアイコンを選択

enter image description here プラスボタンをクリックしてモジュールに新しいパスを追加します _

31
Dorin

PyCharm Community Edition 2016.3.2の場合:

「プロジェクトインタプリタ」 - >右上の設定アイコン - >「その他」。

それから右側にパッケージアイコンがあるはずです。その上にカーソルを置くと、「選択したインタプリタのパスを表示」と表示されます。クリックして。

次に、[追加]ボタンをクリックするか、[alt + insert]を押して新しいパスを追加します。

4
Wesley

私はPyCharm(2018.3.4 CEを使用)とPythonに慣れていないので、system-site-packagesに入っていることがわかっているPIL(Pillow)パッケージにアクセスするために、上記の提案のそれぞれに従うようにしました。どれもうまくいきませんでした。プロジェクトエクスプローラウィンドウで、プロジェクトの下にあるvenv/pyvenv.cfgファイルに気付いたのですが、夜はあきらめようとしていました。そのファイルに "include-system-site-packages = false"という行があるので、それを "true"に変更しました。問題が解決しました。

1
user3397407

プロジェクトエクスプローラで、モジュールが含まれているフォルダを右クリックして「ソース」として設定できます。

それは他の項目と同様にコード補完のためにインデックスで解析されます。

1
user5497885

簡単で汚い解決策として、これは私のために働いた:問題のあるインポートの前にこの2行を追加する:

import sys
sys.path.append('C:\\Python27\\Lib\site-packages')
1
rundekugel

インタプリタパスを変更しないでください。

代わりにプロジェクト構造を変更してください。

「ファイル」 - >「設定」 - >「プロジェクト」 - >「プロジェクト構造」 - >「コンテンツ・ルートの追加」

0
Daniel Braun

Anacondaをダウンロードする https://anaconda.org/ /

アナコンダのインストールが完了しました...

「設定」 - >「プロジェクト設定」 - >「プロジェクトインタプリタ」に進みます。

次に「パス」タブに移動して/ anaconda/bin/pythonを検索します。

適用をクリック

enter image description here

0
Jmitsh