2017-04-06 10 views
3

私はcondaに奇妙な何かを見て新しいですが、実際に問題があるかどうかはわかりません。Condaはリクエストライブラリの2つのバージョンを表示しています

私は現在ルート環境にいます。ある時点で、別の環境にpipをインストールしようとしていましたが、誤ってpip install requestsを実行しました。これは私のルート環境でそれをインストールしているようだ:

$ conda list | grep requests 
requests     2.12.4     py36_0 
requests     2.13.0     <pip> 

そして、それは私のpythonを実行したときに何を拾っなってきているPIPのバージョンのようになります。

$ python 
Python 3.6.0 |Continuum Analytics, Inc.| (default, Dec 23 2016, 12:22:00) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import requests; requests.__version__ 
'2.13.0' 

私の推測ではあるものの2つのバージョンを持ちます周りに横たわる同じパッケージが後に頭痛を引き起こすだろう。その後、私の仮定は、私は非ピップバージョンを維持したほうが良いだろうということでしたので、私はこの試みた:pip install requestsその後

$ pip uninstall requests 
[asks for confirmation, say yes] 
$ conda list 
[traceback, which I can post if helpful. Summary is:] 
ModuleNotFoundError: No module named 'requests' 

を(要求の両方のバージョンを持つ)バック正方形の1に私をもたらします。

最後に、これが再び起こらないようにする方法を知りたいと思います。 docsによると、私はconda環境でパッケージをインストールするためにピップを使用したい場合は、私がすべき:

  1. は、あなたがパッケージをインストールしたいconda環境
  2. 実行pip install whatever
  3. それが必要を有効にします現在の環境ではconda listに表示されます。

しかし、これは私にとっては効果がありません。インストールされているパッケージは現在の環境ではなくconda list --name rootで表示されます。


だから、質問のほんの一握り:

  1. が、私のcondaルートにrequestsの2つのコピーを持っている問題ですか?
  2. これが問題の場合、どのように修正すればよいですか?
  3. condを環境で使用するにはどうすればよいですか?おそらく

答えて

1
  1. Is it a problem to have two copies of requests in my conda root?

。私のテストで

  1. If this is a problem, how do I fix it?

、トリックを行いpip uninstall続いconda remove。 (その後、今度はcondaだけを使用してリクエストを再インストールできます)。何か問題が生じた場合は、.../lib/python3.6/site-packages/requests-2.13.0.dist-infoを削除してください。それは私のために働くように思えた。

FWIW、私は最初にのpipでインストールし、その後condaで再インストールするだけで、ダブルインストールを再現できました。

  1. How do I use pip within a conda environment?

OPの要約は正しいです。コンドーム環境を有効にして、通常どおりにpipを使用してください。私の経験則は、パッケージが利用可能であればcondaでインストールし、それ以外の場合はpipに頼ることです。

+0

CondEnvironmentError:環境エラー:python、pycosat、ruamel_yaml、conda、openssl、ルート環境からのリクエストを削除できません。 – exp1orer

+1

おっと、私非ルート環境で実験していました。 (私はあなたがそのエラーを見ることがわかっていたはずです... [私はそこに置いた!](https://github.com/conda/conda/pull/1153/commits/f8f385d718cefae8d2c3a16a9258461aed490f8e))OK、何かが間違っている... '提案?つまり、 'dist-info'フォルダを削除し、 'pip'バージョンがリストから消えるかどうか確認してください。 –

+0

もう一つのトリック:あなたのルート環境に何かが本当に間違っている場合は、別のconda installを使って最初からやり直さなければならないかもしれません。しかし、別のインストールを使って最初のものを修正することもできます。 * new * conda installから実行すると、 'conda remove -p/path/to/original-root-env requests'が動作すると思います。その後、 'requests'を再インストールすることができます。 –

関連する問題