5

Pythonの古いバージョンがありました。次に、古いバージョンをアンインストールし、新しいバージョンの 2.7.9 をインストールしました。

2.7.9 をグローバル バージョンとして設定しましたpyenvが、すべてのモジュールが検出されません。これらはアップグレード前にインストールされています。今、それらをアンインストールして再インストールしましたが、まだ機能していません...

~/Projects/development$ python
Python 2.7.9 (default, Mar  3 2016, 16:42:45) 
[GCC 4.6.3] on linux2
>>> from github import Github
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named github

Pythonのアップグレード後にすでに再インストールされています! それらを再度インストールしようとすると、要件はすでに満たされたというエラーが発生します。

~/Projects/development$ pip install PyGithub
Requirement already satisfied (use --upgrade to upgrade): PyGithub in /usr/local/lib/python2.7/dist-packages
Cleaning up...

私に何ができる?

~/Projects/development$ pyenv versions
  system
* 2.7.9 (set by /home/user/.pyenv/version)

~/Projects/development$ python
    Python 2.7.9 (default, Mar  3 2016, 16:42:45) 
    [GCC 4.6.3] on linux2
>>> sys.executable
'/usr/local/bin/python'
>>> sys.exec_prefix
'/usr/local'
>>> print '\n'.join(sys.path)

/usr/local/lib/python27.zip
/usr/local/lib/python2.7
/usr/local/lib/python2.7/plat-linux2
/usr/local/lib/python2.7/lib-tk
/usr/local/lib/python2.7/lib-old
/usr/local/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/site-packages

which pipを与え/usr/bin/pipます。

4

1 に答える 1

3

問題が見つかりました。

dist-packages と site-packages。

前のバージョンの Python を使用し、アップグレード後も、私のパッケージは pip によって にインストールされましたが、インストールし/usr/local/lib/python2.7/dist-packagesた新しい Python はパッケージがインストールされることを期待しています/usr/local/lib/python2.7/site-packages(ソースから手動で Python をインストールする場合、site-packages ディレクトリを使用します。詳細はこちらを参照してください) 。 . モジュールを一時的にコピーするか、PYTHONPATH環境変数を操作して dist-packages を指すようにして、新しくインストールされたバージョンの Python でインストールされたパッケージにアクセスすることができます。

ここから。

于 2016-04-03T13:59:33.957 に答える