2017-06-23 13 views
0

私はマシンに複数のバージョンのpythonを持っています。そのため、pyenvをインストールして管理しています。 pyenvによると、私はそれが欠けているモジュールであるとして、あなたが私のpython 3.5のためにnumpyのをインストールしたいpyenv pythonのインストールに失敗しました。3.5.3

[email protected]:~$ pyenv global 
3.5.3 

を見ることができるよう

[email protected]:~$ pyenv versions 
* system (set by /home/ola/.pyenv/version) 
    3.4.6 
    3.5.3 
    3.6.1 

は私が3.5.3にグローバル(システムのデフォルト)に設定されていますそこ。私が正しくpyenvの仕組みを理解していれば、実行時に sudo pip install numpy pyenvが使用するグローバルバージョンが3.5.3であり、numpyをインストールすることが正しいことを理解していますか?

はしかし、私は次の問題を得る:

[email protected]:~$ sudo pip install numpy 
Traceback (most recent call last): 
    File "/usr/local/bin/pip", line 6, in <module> 
    from pkg_resources import load_entry_point 
    File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2991, in <module> 
    @_call_aside 
    File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2977, in _call_aside 
    f(*args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3004, in _initialize_master_working_set 
    working_set = WorkingSet._build_master() 
    File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 664, in _build_master 
    return cls._build_from_requirements(__requires__) 
    File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 677, in _build_from_requirements 
    dists = ws.resolve(reqs, Environment()) 
    File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 856, in resolve 
    raise DistributionNotFound(req, requirers) 
pkg_resources.DistributionNotFound: The 'pip==8.1.2' distribution was not found and is required by the application 

私はこれをどのように解決することができますか?それは私に

[email protected]:~$ sudo pip3 install numpy 
Requirement already satisfied: numpy in /usr/local/lib/python2.7/dist-packages 

を伝えます。しかし、私のマシン上のPython 3.5.3のためのnumpyのが存在しないため、

NOTE実行中のsudo PIP3インストールnumpyのは助けにはなりません。私の知る限り、pip3版とpython版は異なるものです。

答えて

1

あなたは試みることができる:

sudo python3 -m pip install numpy 

を問題が解決しない場合は、python2からnumpyのを削除してみてください可能性があります。私が覚えているところでは、Ubuntuには奇妙な癖がありますので、OS /ディストリビューションにも依存します。

+0

ありがとう、それはうまくいくようです。しかし、私はそれを取得しません。グローバルバージョンがpython 3.5.3に設定されている場合、pyenvは正しいpipを呼び出すはずですか?私はDebianを使用しています – math

+0

@ user8私はpyenvを使わないので、私は言いませんが、私の推測では、それは 'sudo'のためです。 'sudo'を使うと、別のユーザアカウントを使うことになり、環境が変わります。私のために –

+0

pyenvは正しいピップを選択しますが、私はいつもpythonのバージョンをディレクトリに設定します。 – cardamom

1

これは、古い質問ですが、誰がそれを越えつまずきのため:

使用pyenv which実行されるスクリプト/実行ファイルを決定します。この時点で

[email protected]:~$ pyenv which pip3 
/home/ola/.pyenv/versions/3.5.3/bin/pip3 

あなただけ行うことができます:

pip3 install numpy 

ないsuまたはsudo必要な、以来3.5.3は、Pythonのあなたの現在の現在アクティブなバージョンである場合たとえば、あなたは次のように表示されるはずpyenvのインストールはすべてホームディレクトリの~ola/.pyenv/にあります。

あなたの質問に表示されているすべての例では、/usr/localのシステム全体のバージョンのPython 2.7が含まれているため、3.5.3が正しくアクティブ化されていないようです。したがって:

  • 現在アクティブなバージョンを確認するには、pyenv versionを使用してください。
  • pyenv which <script>を使用すると、実行するスクリプトを正確に確認できます。
関連する問題