我正在尝试使用以下命令删除环境foo:
conda remove -n foo --all --dry-run
表明这些软件包将被删除:
The following packages will be REMOVED:
certifi: 2016.2.28-py27_0
mkl: 2017.0.3-0
numpy: 1.13.1-py27_0
openssl: 1.0.2l-vc9_0 [vc9]
pip: 9.0.1-py27_1
python: 2.7.13-1
scipy: 0.19.1-np113py27_0
setuptools: 36.4.0-py27_1
sqlite: 3.13.0-vc9_1 [vc9]
tk: 8.5.18-vc9_0 [vc9]
vs2008_runtime: 9.00.30729.5054-0
wheel: 0.29.0-py27_0
wincertstore: 0.2-py27_0
zlib: 1.2.11-vc9_0 [vc9]
DryRunExit: Dry run exiting
但是我还有另一个重要的环境栏,我要保留其软件包(以及可能与之共享软件包的其他环境):
C:\WINDOWS\system32>conda remove -n bar --all --dry-run
Remove all packages in environment C:\Users\blah\Anaconda3\envs\bar:
## Package Plan ##
environment location: C:\Users\blah\Anaconda3\envs\bar
The following packages will be REMOVED:
backports: 1.0-py27_0
beautifulsoup4: 4.5.1-py27_0
boto: 2.43.0-py27_0
bz2file: 0.98-py27_0
click: 6.6-py27_0
configparser: 3.5.0-py27_0
curl: 7.49.0-vc9_0 [vc9]
cycler: 0.10.0-py27_0
django: 1.10.3-py27_0
flask: 0.11.1-py27_0
gensim: 0.12.4-np111py27_0
icu: 57.1-vc9_0 [vc9]
itsdangerous: 0.24-py27_0
jinja2: 2.8-py27_1
jpeg: 8d-vc9_2 [vc9]
libpng: 1.6.22-vc9_0 [vc9]
lxml: 3.6.4-py27_0
markupsafe: 0.23-py27_2
matplotlib: 1.5.3-np111py27_1
mkl: 11.3.3-1
mysql-connector-python: 2.0.4-py27_0
nltk: 3.2.1-py27_0
numpy: 1.11.2-py27_0
openssl: 1.0.2j-vc9_0 [vc9]
pandas: 0.19.1-np111py27_0
pip: 9.0.1-py27_0
pymysql: 0.7.9-py27_0
pyparsing: 2.1.4-py27_0
pyqt: 5.6.0-py27_0
python: 2.7.12-0
python-dateutil: 2.6.0-py27_0
pytz: 2016.7-py27_0
qt: 5.6.0-vc9_0 [vc9]
requests: 2.12.1-py27_0
scipy: 0.18.1-np111py27_0
setuptools: 27.2.0-py27_1
sip: 4.18-py27_0
six: 1.10.0-py27_0
smart_open: 1.3.5-py27_0
tk: 8.5.18-vc9_0 [vc9]
vs2008_runtime: 9.00.30729.1-2
werkzeug: 0.11.11-py27_1
wheel: 0.29.0-py27_0
yaml: 0.1.6-0
zlib: 1.2.8-vc9_3 [vc9]
请注意,例如,tk:8.5.18-vc9_0 [vc9]都在其中。如果我删除了foo中的所有软件包,是否还会删除bar中使用的软件包?如何删除foo专用的软件包?
答案 0 :(得分:1)
否,如果在一个环境中删除软件包,conda不会从其他环境中删除软件包。 Conda将每个软件包的主版本存储在pkgs
目录中,并将该目录中的文件链接到每个环境中。删除环境时,conda只会删除与该环境关联的链接,而不会更改每个软件包的主版本。