我是康达的新手,看到一些奇怪的东西,但我实际上并不知道这是不是问题 .
我目前处于根环境中 . 在某些时候我试图在另一个环境中安装pip,但不小心只是跑了 pip install requests
. 这似乎已经在我的root环境中安装了它:
$ conda list | grep requests
requests 2.12.4 py36_0
requests 2.13.0 <pip>
它看起来像pip版本是我运行python时得到的:
$ 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'
我的猜测是,周围有两个版本的同一个包会导致后来的麻烦 . 然后我的假设是我最好保留非点子版本,所以我尝试了这个:
$ pip uninstall requests
[asks for confirmation, say yes]
$ conda list
[traceback, which I can post if helpful. Summary is:]
ModuleNotFoundError: No module named 'requests'
然后 pip install requests
带我回到方阵1(有两个版本的请求) .
最后,我想知道如何防止这种情况再次发生 . 根据docs,如果我想使用pip在conda环境中安装软件包,我应该:
-
激活要安装程序包的conda环境
-
运行
pip install whatever
-
它应该在
conda list
中显示当前环境 .
但是,这对我不起作用 - 已安装的软件包显示在 conda list --name root
下,而不是在当前环境中 .
所以,一些问题:
-
在我的conda根目录中有两个
requests
副本是一个问题吗? -
如果这是一个问题,我该如何解决?
-
如何在conda环境中使用pip?
1 回答
大概 .
在我的测试中,
conda remove
后跟pip uninstall
就可以了 . (之后你可以只使用conda重新安装请求 . )但如果出现问题,请删除.../lib/python3.6/site-packages/requests-2.13.0.dist-info
. 这似乎对我有用 .FWIW,我只能通过首先安装pip再重新进行双重安装,然后再用conda重新安装 .
OP中的摘要是正确的 . 只需激活conda环境并像往常一样使用pip . 我的经验法则是安装包含
conda
的包(如果可用),否则请使用pip
.