这种改变conda环境的天才方法是否会在以后破坏某些东西?
因此,我没有耐心阅读和消化所有改变conda环境的巨型声音。 (我甚至不确定我使用的术语"环境"是否正确)。
我正在尝试安装py2exe(pip install py2exe)并且我收到了一个错误,并且在追溯中我注意到pip正在使用我位于E:\ Anaconda的旧的2.7 anaconda python。我和#34;新"或当前3.4 anaconda python位于E:\ Anaconda3 ......
所以我做的是使用Windows资源管理器将我的E:\ Anaconda文件夹重命名为E:\ poopAnaconda(右键单击,重命名等;使用win7 64)。然后在cmd提示符下输入
E:\Anaconda3>conda info -a
然后神奇地重命名后,conda信息现在显示3.4.1.final.0作为我的python版本,我的环境现在成功地在E:\ Anaconda3 !!! (你可以在cmd输出的中途看到它)
点击输入后有一点暂停(对于conda info -a)然后显示信息。我在输出中看到的唯一区别是关于许可证pfffffff
的一些警告我的anaconda文件夹也列在PATH中:
...E:\Anaconda;E:\Anaconda\Scripts;E:\Anaconda3;E:\Anaconda3\Scripts
In the FAQ,有8种不同的方式可以激活和/或创建一个环境,但这些方法都不如此简单。
所以,这是一个"坏"改变conda环境的方法?我的意思是它到目前为止有效。但是,为什么它有用呢?
在我的天才突破之前:
E:\Anaconda3>conda info -a
Current conda install:
platform : win-64
conda version : 3.8.4
conda-build version : 1.8.2
python version : 2.7.8.final.0
requests version : 2.5.1
root environment : E:\Anaconda (writable)
default environment : E:\Anaconda
envs directories : E:\Anaconda\envs
package cache : E:\Anaconda\pkgs
channel URLs : http://repo.continuum.io/pkgs/free/win-64/
http://repo.continuum.io/pkgs/free/noarch/
http://repo.continuum.io/pkgs/pro/win-64/
http://repo.continuum.io/pkgs/pro/noarch/
config file : None
is foreign system : False
# conda environments:
#
root * E:\Anaconda
sys.version: 2.7.8 |Anaconda 2.1.0 (64-bit)| (default...
sys.prefix: E:\Anaconda
sys.executable: E:\Anaconda\python.exe
conda location: E:\Anaconda\lib\site-packages\conda
conda-build: E:\Anaconda\Scripts\conda-build.exe
conda-convert: E:\Anaconda\Scripts\conda-convert.exe
conda-develop: E:\Anaconda\Scripts\conda-develop.exe
conda-env: E:\Anaconda\Scripts\conda-env.exe
conda-index: E:\Anaconda\Scripts\conda-index.exe
conda-metapackage: E:\Anaconda\Scripts\conda-metapackage.exe
conda-pipbuild: E:\Anaconda\Scripts\conda-pipbuild.exe
conda-skeleton: E:\Anaconda\Scripts\conda-skeleton.exe
user site dirs:
CIO_TEST: <not set>
CONDA_DEFAULT_ENV: <not set>
CONDA_ENVS_PATH: <not set>
PATH: C:\Program Files (x86)\RSA SecurID Token Common;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsP
owerShell\v1.0\;e:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;e:\Program Files\AMD\ATI.ACE\Core-Static;E:\Python34_64bit;E:\Anaconda;E:\Anaconda\Scripts;E:\Anaconda3;E:\Anaconda3\Scripts
PYTHONHOME: <not set>
PYTHONPATH: <not set>
License directories:
C:\Users\Kardo Paska\.continuum
C:\Users\Kardo Paska\AppData\Roaming\Continuum
E:\Anaconda\licenses
License files (license*.txt):
Package/feature end dates:
E:\Anaconda3>
之后:
E:\Anaconda3>conda info -a
Current conda install:
platform : win-64
conda version : 3.7.0
conda-build version : 1.8.2
python version : 3.4.1.final.0
requests version : 2.4.1
root environment : E:\Anaconda3 (writable)
default environment : E:\Anaconda3
envs directories : E:\Anaconda3\envs
package cache : E:\Anaconda3\pkgs
channel URLs : http://repo.continuum.io/pkgs/free/win-64/
http://repo.continuum.io/pkgs/pro/win-64/
config file : None
is foreign system : False
# conda environments:
#
root * E:\Anaconda3
sys.version: 3.4.1 |Anaconda 2.1.0 (64-bit)| (default...
sys.prefix: E:\Anaconda3
sys.executable: E:\Anaconda3\python.exe
conda location: E:\Anaconda3\lib\site-packages\conda
conda-build: E:\Anaconda3\Scripts\conda-build.exe
conda-convert: E:\Anaconda3\Scripts\conda-convert.exe
conda-develop: E:\Anaconda3\Scripts\conda-develop.exe
conda-index: E:\Anaconda3\Scripts\conda-index.exe
conda-metapackage: E:\Anaconda3\Scripts\conda-metapackage.exe
conda-pipbuild: E:\Anaconda3\Scripts\conda-pipbuild.exe
conda-skeleton: E:\Anaconda3\Scripts\conda-skeleton.exe
user site dirs:
CIO_TEST: <not set>
CONDA_DEFAULT_ENV: <not set>
CONDA_ENVS_PATH: <not set>
PATH: C:\Program Files (x86)\RSA SecurID Token Common;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsP
owerShell\v1.0\;e:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;e:\Program Files\AMD\ATI.ACE\Core-Static;E:\Python34_64bit;E:\Anaconda;E:\Anaconda\Scripts;E:\Anaconda3;E:\Anaconda3\Scripts
PYTHONHOME: <not set>
PYTHONPATH: <not set>
WARNING: could not import _license.show_info
# try:
# $ conda install -n root _license
E:\Anaconda3>
NICE !!
E:\Anaconda3>pip install py2exe
Downloading/unpacking py2exe
Installing collected packages: py2exe
Successfully installed py2exe
Cleaning up...
E:\Anaconda3>
答案 0 :(得分:5)
这会有效,但我不推荐它。
在conda环境中,&#34;激活&#34;环境只是意味着将该环境放在PATH
的前面,以便在您键入它们时首先获取该环境中的程序。在PATH
上放置多个内容并移动它们也是有效的,因为在搜索PATH
时只会跳过不存在的路径。
首先,你不应该安装两次Anaconda。相反,使用conda创建其他环境。
您没有使用conda :Anaconda的优势之一是管理环境的conda包管理器。最好选择一个Anaconda安装作为基础安装并创建另一个作为conda环境(例如,如果你选择Anaconda3作为基础创建一个带有conda create -n py2 python=2 anaconda
的Python 2环境)。然后是activate py2
和deactivate
。
如果您使用conda,您可能会感到困惑:Anaconda的每个安装都安装了不同的conda。这意味着管理每一个,你需要使用那个中的conda。使用错误的conda可能会导致问题(它不受支持)。使用一个Anaconda和环境,你可以使用conda install -n envname
它会做正确的事情,因为只有一个conda。
但即使忽略这一点,关于你的天才想法,一些问题将是:
PATH
&#34;泄漏&#34; :如果您的PATH
上同时拥有Anaconda和Anaconda3,则会在第二个中安装。不是第一个,它将拿起Anaconda3一个(因为PATH
的工作方式是它搜索命令的所有目录,直到它找到它)。在OS X和Linux上source activate
将从PATH
中删除根环境以防止这种情况发生。这在Windows上还没有发生,但我们想要改变它。
不便:移动目录比点击activate envname
更容易吗?还要考虑如果您创建一个新环境,则必须将其添加到PATH
才能使用此技巧。如果你善用conda,你将会创造很多环境。
您可能会破坏环境:对于Windows而言,这并非完全如此,至少对于大多数软件包而言都是如此。在OS X和Linux上都是如此。移动环境可能会破坏它,因为在某些地方存在硬编码路径。所以你的poopAnaconda目录中的东西可能无法工作,直到你把它命名为Anaconda。