私は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環境でパッケージをインストールするためにピップを使用したい場合は、私がすべき:
- は、あなたがパッケージをインストールしたいconda環境
- 実行
pip install whatever
- それが必要を有効にします現在の環境では
conda list
に表示されます。
しかし、これは私にとっては効果がありません。インストールされているパッケージは現在の環境ではなくconda list --name root
で表示されます。
だから、質問のほんの一握り:
- が、私のcondaルートに
requests
の2つのコピーを持っている問題ですか? - これが問題の場合、どのように修正すればよいですか?
- condを環境で使用するにはどうすればよいですか?おそらく
CondEnvironmentError:環境エラー:python、pycosat、ruamel_yaml、conda、openssl、ルート環境からのリクエストを削除できません。 – exp1orer
おっと、私非ルート環境で実験していました。 (私はあなたがそのエラーを見ることがわかっていたはずです... [私はそこに置いた!](https://github.com/conda/conda/pull/1153/commits/f8f385d718cefae8d2c3a16a9258461aed490f8e))OK、何かが間違っている... '提案?つまり、 'dist-info'フォルダを削除し、 'pip'バージョンがリストから消えるかどうか確認してください。 –
もう一つのトリック:あなたのルート環境に何かが本当に間違っている場合は、別のconda installを使って最初からやり直さなければならないかもしれません。しかし、別のインストールを使って最初のものを修正することもできます。 * new * conda installから実行すると、 'conda remove -p/path/to/original-root-env requests'が動作すると思います。その後、 'requests'を再インストールすることができます。 –