私は初心者で、私のプロジェクトには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インストールが正しくリンクされると思いましたか?
簡単な回避策として、bashのような端末(Linux/OSX)を使用していると仮定して、PYTHONPATH環境変数をエクスポートしてみることができます。
export PYTHONPATH="${PYTHONPATH}:/usr/local/lib/python2.7/site-packages:/usr/lib/python2.7/site-packages"
Python 2.7
これは、Pythonのいくつかのバージョンがインストールされていて、特にbrewを使用しておそらくpythonブレンド。)
ほとんどのpython開発者はスクリプトの冒頭にあると思います:
#!/bin/env python
これは、コマンドライン>python
から実行するものと必ずしも同じではないpython
pythonインタープリターの正しいpipインスタンスを使用してパッケージをインストールすることを確認するには、次のようなものを実行する必要があります。
>/bin/env python -m pip install --upgrade mymodule
私もこの問題を抱えていました。 /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の下のすべてのパッケージにこの問題がありました。
よろしく。
他のソリューションは私のために働いていなかったので、私は試しました:
pip uninstall <module> && pip install <module>
そしてそれは私のためにそれを解決しました。あなたのマイレージは異なる場合があります。
私にとって問題は、ファイルpydistutils.cfg
に奇妙な構成設定があることでした
rm ~/.pydistutils.cfg
を実行してみてください
以下の手順でこれを修正できました。
rm -rf env-name
を使用して、作成された環境を削除しますpython3 -m venv env-aide
を使用して環境を作成しますeasy_install/pipをどのようにインストールしましたか?アップグレードされたバージョンのpython用にインストールしたことを確認してください。ここで起こりうることは、古い(デフォルト)pythonインストールがpipインストールにリンクされている可能性があることです。デフォルトバージョンを実行して、新しくインストールされたモジュールをインポートしてみてください。
python
およびpip
バイナリが異なるバージョンのものである場合、pipを使用してインストールされたモジュールはPythonで使用できません。
解決手順:
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
私の場合。
ln -is /usr/local/Cellar/python/3.7.2/bin/pip3 $(which pip)
-i
フラグは、ターゲットが存在する場合に上書きすることを促します。
これでうまくいくはずです。
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環境を右クリックし、[仮想環境の追加...]を選択して、仮想環境を作成したフォルダーを選択します。 次に、プロジェクト設定の[全般]タブで、ドロップダウンから仮想環境を選択します。
これで、Visual Studioは同じインタープリターを使用し、すべてがNice!