我有一个Anaconda虚拟环境,在这个环境中,我多次安装了许多Python包,通常安装在不同的版本中,例如:
$ conda list
...
singledispatch 3.4.0.3 py35_0
sip 4.18 py35_0
six 1.10.0 <pip>
six 1.11.0 <pip>
six 1.10.0 py35_0
snowballstemmer 1.2.1 py35_0
sockjs-tornado 1.0.3 py35_0
sphinx 1.5.4 py35_0
spyder 3.1.3 py35_0
sqlalchemy 1.1.9 py35_0
sqlite 3.13.0 0
statsmodels 0.8.0 np111py35_0
sympy 1.0 py35_0
tensorflow-gpu 1.3.0 <pip>
tensorflow-gpu 1.0.1 <pip>
tensorflow-tensorboard 0.1.6 <pip>
terminado 0.6 py35_0
testpath 0.3 py35_0
Theano 0.9.0 <pip>
tk 8.5.18 0
toolz 0.8.2 py35_0
tornado 4.4.2 py35_0
tqdm 4.11.2 <pip>
tqdm 4.15.0 py35_0
traitlets 4.3.2 py35_0
unicodecsv 0.14.1 py35_0
wcwidth 0.1.7 py35_0
werkzeug 0.12.1 py35_0
Werkzeug 0.12.2 <pip>
wheel 0.29.0 <pip>
wheel 0.30.0 <pip>
wheel 0.29.0 py35_0
...
我不知道我是如何到达这个状态的,但是我怎么才能安全地摆脱重复的包呢?
另外,如果程序导入six
包,Python如何确定要导入哪个版本?
编辑:,我现在知道问题出在哪里了。我可能使用pip
的--ignore-installed
选项安装了一些软件包。我是否可以这样安装所有的副本,还是应该去掉它们?
发布于 2018-01-11 16:48:17
如果您不需要其中任何一个的特定版本,那么我将尝试conda update conda
,它应该删除所有旧包,安装最新版本,并将最新版本设置为默认版本。否则,您可以始终使用conda remove <pkg-name>
删除所有副本,使用conda install <pkg-name>
安装最新版本并替换旧版本。您还可以使用pip install <pkg-name>==<version>
安装特定版本(例如,pip install keras==1.2
)。这个链接也很有用。
发布于 2020-08-22 08:57:16
发布于 2018-11-20 21:52:24
我也有同样的问题。正如Mehdi所建议的,我发现最好是创造一个新的conda环境。详情请参见此链接。您可以简单地将需求放在yaml文件中,如下所示:
name: my_name
dependencies:
- numpy
- python=3.6.0=0
- pandas
- ipython
- matplotlib
- pip:
- click==6.6
- keras==1.2
然后运行以下命令(假设上面的文件保存为env.yaml):
conda env create -n my_name -f env.yml
source activate my_name
https://stackoverflow.com/questions/48211174
复制相似问题