web-dev-qa-db-ja.com

Python pipインストールモジュールが見つかりません。リンク方法python pip location?

私は初心者で、私のプロジェクトにはpySerialとfeedparserモジュールが必要でした。 Mountain Lionを実行しています。

次のチュートリアルに従って、python 2.7.3にアップグレードし、上記のモジュールを使用できるようにしました。

http://hackercodex.com/guide/python-virtualenv-on-mac-osx-mountain-lion-10.8/

Pipをインストールするまで、このチュートリアルに従いました。 Virtualenvをインストールする代わりに。次のコマンドを使用して、pySerialとfeedparserをインストールしました

$ pip install pySerial
Requirement already satisfied (use --upgrade to upgrade): pySerial in /Library/Python/2.7/site-packages
Cleaning up...

私はこれがすでに存在していると仮定し、それをチェックしました。 Pythonはこれをうまくインポートしているようです。チュートリアルで述べたようにhomebrewを使用してインストールしてから、私のpythonバージョンは2.7.3 btwにアップグレードされました。

次に、feedparserをインストールしてみました

$ pip install feedparser
Requirement already satisfied (use --upgrade to upgrade): feedparser in /usr/local/lib/python2.7/site-packages
Cleaning up...

Usr/local/libのsite-packagesディレクトリにあることに注意してください。

私のピップインストールはすべてそのディレクトリにインストールされていますが、pythonはそれらをインポートしようとするときにそれらをピックアップしていないようです。

pythonもコアディレクトリと同様にそこに見えるようにパスを設定するにはどうすればよいですか?

あなたの助けは大歓迎です。

私はここで答えを探してみました: Pipはインストールされますが、モジュールが見つかりませんインストール後にpython 2.7を使用してmacにbeautifulsoupをインポートできない理由pipおよび/またはeasy_install? を使用

しかし、それらのniは私と同じ状況にあります。私はbash_profileを次のように編集したので、なぜこれが起こっているのか分かりません

# Set architecture flags
export ARCHFLAGS="-Arch x86_64"
# Ensure user-installed binaries take precedence
export PATH=/usr/local/share/python:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
# Load .bashrc if it exists
test -f ~/.bashrc && source ~/.bashrc

その後、homebrewをインストールしてから、python 2.7.3からhomebrewをインストールしました(現在、私のマシンで2.7.3が実行されています)

すべてのpipインストールが正しくリンクされると思いましたか?

30
user1953478

簡単な回避策として、bashのような端末(Linux/OSX)を使用していると仮定して、PYTHONPATH環境変数をエクスポートしてみることができます。

export PYTHONPATH="${PYTHONPATH}:/usr/local/lib/python2.7/site-packages:/usr/lib/python2.7/site-packages"

Python 2.7

45
Ruslan

これは、Pythonのいくつかのバージョンがインストールされていて、特にbrewを使用しておそらくpythonブレンド。)

ほとんどのpython開発者はスクリプトの冒頭にあると思います:

#!/bin/env python

これは、コマンドライン>pythonから実行するものと必ずしも同じではないpython

pythonインタープリターの正しいpipインスタンスを使用してパッケージをインストールすることを確認するには、次のようなものを実行する必要があります。

>/bin/env python -m pip install --upgrade mymodule
14
sorin

私もこの問題を抱えていました。 /usr/local/lib/python2.7/dist-packages/の下のすべてのサブディレクトリとファイルには、グループおよびその他の読み取りまたは書き込み権限がなく、それらはルートが所有していることに気付きました。これは、rootユーザーのみがそれらにアクセスできることを意味するため、これらのモジュールのいずれかを使用したPythonスクリプトを実行しようとしたすべてのユーザーはインポートエラーを受け取りました。

$ python
Python 2.7.3 (default, Apr 10 2013, 06:20:15) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Selenium
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named Selenium
>>> 

ファイルの読み取り権限と、グループなどのサブディレクトリの検索権限を付与しました。

$ Sudo chmod -R go+rX /usr/local/lib/python2.7/dist-packages

そして、それは私のために問題を解決しました:

$ python
Python 2.7.3 (default, Apr 10 2013, 06:20:15) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Selenium
>>> 

これらのパッケージをpipでインストールしました(Sudoでrootとして実行)。読み取り/検索権限を付与せずにそれらをインストールした理由がわかりません。これは私にはピップのバグ、またはおそらくパッケージ構成のバグのように見えますが、Pythonとそのモジュールのパッケージングにはあまり馴染みがないので、わかりません。 dist-packagesの下のすべてのパッケージにこの問題がありました。

よろしく。

8
boshea

他のソリューションは私のために働いていなかったので、私は試しました:

pip uninstall <module> && pip install <module>

そしてそれは私のためにそれを解決しました。あなたのマイレージは異なる場合があります。

5
Cory Klein

私にとって問題は、ファイルpydistutils.cfgに奇妙な構成設定があることでした

rm ~/.pydistutils.cfgを実行してみてください

0
yask

以下の手順でこれを修正できました。

  • pipバージョンをアップグレードする
  • コマンドrm -rf env-nameを使用して、作成された環境を削除します
  • コマンドpython3 -m venv env-aideを使用して環境を作成します
  • パッケージをインストールして確認します
0
SuperNova

easy_install/pipをどのようにインストールしましたか?アップグレードされたバージョンのpython用にインストールしたことを確認してください。ここで起こりうることは、古い(デフォルト)pythonインストールがpipインストールにリンクされている可能性があることです。デフォルトバージョンを実行して、新しくインストールされたモジュールをインポートしてみてください。

0
Akash

pythonおよびpipバイナリが異なるバージョンのものである場合、pipを使用してインストールされたモジュールはPythonで使用できません。

解決手順:

  1. デフォルト環境で新しいターミナルを開き、pipおよびpythonのバイナリを見つけます。
readlink $(which pip)
../Cellar/python@2/2.7.15_1/bin/pip

readlink $(which python)
/usr/local/bin/python3      <-- another symlink

readlink /usr/local/bin/python3
../Cellar/python/3.7.2/bin/python3

ここでは、バージョン間の明らかな不一致2.7.15_1および3.7.2 私の場合。

  1. Pipシンボリックリンクを、現在のバージョンのpythonに一致するpipバイナリに置き換えます。 次のコマンドでpythonバージョンを使用します。
ln -is /usr/local/Cellar/python/3.7.2/bin/pip3 $(which pip)

-iフラグは、ターゲットが存在する場合に上書きすることを促します。

これでうまくいくはずです。

0
adc

Windows環境からVisual Studioを使用している人のために:

Pip installを実行すると、モジュールがインストールされていることがわかりました

py pip install [moduleName] 
py pip list

ただし、Visual Studioでのデバッグには「モジュールが見つかりません」と表示されていました。奇妙なことに、私はPowerShellでインタープリターを実行したときにimport [moduleName]を正常に実行していました。

理由:

visual StudioはC:\Users\[username]\AppData\Local\Programs\Python\Python37\wrongインタープリターを使用していました

私が本当に欲しかったのは、自分のプロジェクト用に設定したvirtualenvを使用するビジュアルスタジオでした。これを行うには、「ソリューションエクスプローラー」でPython環境を右クリックし、[仮想環境の追加...]を選択して、仮想環境を作成したフォルダーを選択します。 enter image description here 次に、プロジェクト設定の[全般]タブで、ドロップダウンから仮想環境を選択します。

enter image description here

これで、Visual Studioは同じインタープリターを使用し、すべてがNice!

0
Solarcloud