通过重命名文件夹方法轻松更改Conda环境(在Win7 64中)?是否可以接受?

Kar*_*ska 2 py2exe environment-variables windows-7-x64 python-3.4 conda

这种改变conda环境的天才方法是否会在以后破坏某些东西?

因此,我没有耐心阅读和消化所有改变conda环境的巨型傻瓜.(我甚至不确定我对"环境"一词的用法是否正确).

我试图安装py2exe(pip install py2exe),我收到了一个错误,在追溯中我注意到pip正在使用位于E:\ Anaconda的旧的2.7 anaconda python.我的"新"或当前的3.4 anaconda python位于E:\ Anaconda3 ......

所以我所做的是使用Windows资源管理器将我的E:\ Anaconda文件夹重命名为E:\ poopAnaconda(右键单击,重命名等;使用win7 64).然后在cmd提示符下输入

E:\Anaconda3>conda info -a
Run Code Online (Sandbox Code Playgroud)

然后神奇地重命名后,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
Run Code Online (Sandbox Code Playgroud)

在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>
Run Code Online (Sandbox Code Playgroud)

之后:

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>
Run Code Online (Sandbox Code Playgroud)

NICE!

E:\Anaconda3>pip install py2exe
Downloading/unpacking py2exe
Installing collected packages: py2exe
Successfully installed py2exe
Cleaning up...

E:\Anaconda3>
Run Code Online (Sandbox Code Playgroud)

asm*_*rer 5

这会有效,但我不推荐它.

在conda环境中,"激活"环境只是意味着将该环境置于您的前端PATH,以便在您键入环境时首先获取该环境中的程序.在你的上面放置多个东西PATH并移动它们也是有效的,因为在PATH搜索时只会跳过不存在的路径.

首先,你不应该安装两次Anaconda.相反,使用conda创建其他环境.

  • 您没有使用conda:Anaconda的优势之一是conda包管理器,它管理环境.最好选择一个Anaconda安装作为基础安装并创建另一个作为conda环境(例如,如果你选择Anaconda3作为你的基础创建一个Python 2环境conda create -n py2 python=2 anaconda).然后activate py2deactivate.

  • 如果您使用conda,您可能会感到困惑:Anaconda的每个安装都安装了不同的conda.这意味着要管理每一个,你需要使用那个中的conda.使用错误的conda可能会导致问题(实际上并不支持).有了一个Anaconda和环境,你可以使用conda install -n envname它会做正确的事情,因为只有一个conda.

但即使忽略这一点,关于你的天才想法,一些问题将是:

  • PATH"泄漏":如果您同时拥有Anaconda和Anaconda3,PATH并且第二个而不是第一个安装了某个东西,那么它将选择一个Anaconda3(因为PATH它的工作方式是搜索命令的所有目录,直到它找到它).在OS X和Linux source activate上将从中删除根环境PATH以防止这种情况发生.这在Windows上还没有发生,但我们想要改变它.

  • 不便:移动目录比打字更容易activate envname吗?还要考虑如果你创建一个新环境,你必须将它添加到PATH这个技巧才能工作.如果你善用conda,你将会创造很多环境.

  • 您可能会破坏环境:对于Windows而言,这并非完全如此,至少对于大多数软件包而言.在OS X和Linux上都是如此.移动环境可能会破坏它,因为在某些地方存在硬编码路径.所以你的poopAnaconda目录中的东西可能无法工作,直到你把它命名为Anaconda.

  • 是的.Conda为您处理所有这些细节. (2认同)