2016-03-31 13 views
4

私はPython用の古いバージョンを持っていました。その後、私は古いバージョンをアンインストールし、新しいバージョンをインストールしました - 2.7.9。インストールされているにもかかわらずPythonモジュールが検出されない

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

~/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 

~/Projects/development$ $PYTHONPATH 
~/Projects/development$ $PATH 
    -bash: /home/user/.pyenv/bin:/home/user/.rvm/gems/ruby-1.9.3-p448/bin:/home/user/.rvm/gems/[email protected]/bin:/home/user/.rvm/rubies/ruby-1.9.3-p448/bin:/home/user/.rvm/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: No such file or directory 

`which pip` gives `/usr/bin/pip`. 
+0

あなたはフォルダに行くことができますpipは既にインストールされているとは何ですか?モジュールをアンインストールして再インストールする必要があります。 –

+0

私はすでにインストールして、再インストールしました... – user2503775

+2

古いpythonが実際にディレクトリを見て行っていることを確認してください。また、新しいバージョンであることを確認するために 'which pip'をチェックしてください。 '$ PATH'と' $ PYTHONPATH'に古いディレクトリ名が含まれていないことを確認してください。 – cdarke

答えて

2

この問題が見つかりました。

dist-packagesとsite-packagesを比較します。

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

からhere

関連する問題