使用多个Python引擎(32Bit / 64bit和2.7 / 3.5)

时间:2015-11-14 14:22:28

标签: python python-3.x python-2.7 anaconda conda

我想将Python用于科学应用程序,经过一些研究后我决定使用Anaconda,因为它捆绑了大量软件包,并且通过cmd使用conda install添加新模块很容易。

我更喜欢使用64位版本以获得更好的RAM使用和效率 还需要32位版本,因为有些库是32位。同样,我更喜欢使用Python 3.5,因为这是未来和事情的发展方向。但是大量的库仍然是2.7,这意味着我需要两者。

我必须安装4个版本的Anaconda(64bit 2.7,64bit 3.5,32bit 2.7,64bit 3.5)。每个版本大约380MB。我的目标是使用Jupyter笔记本和Spyder作为IDE。我必须在需要时在版本之间切换。我有相互矛盾的库,路径问题和各种奇怪的问题。

所以,我打算从头开始进行全新安装。我想知道是否有更明智的方法来处理这个问题。如果重要的话,我现在使用Windows 7 64位。

4 个答案:

答案 0 :(得分:64)

确保设置正确的环境变量(https://github.com/conda/conda/issues/1744

为32位Python 2.7创建一个新环境:

set CONDA_FORCE_32BIT=1
conda create -n py27_32 python=2.7

激活它:

set CONDA_FORCE_32BIT=1
activate py27_32

取消激活:

deactivate py27_32

为64位Python 3.5创建一个:

set CONDA_FORCE_32BIT=
conda create -n py35_64 python=3.5

激活它:

set CONDA_FORCE_32BIT=
activate py35_64

最好的方法是在批处理文件中编写激活命令,这样你只需键入一个命令就不会忘记设置正确的32/64位标志。

<强>更新

您无需为此安装完整的Anaconda发行版。 Miniconda就足够了:

  

这些Miniconda安装程序包含conda包管理器和Python。安装Miniconda后,您可以使用conda命令安装任何其他软件包并创建环境等......

     

安装程序有两种变体:Miniconda基于Python 2,Miniconda3基于Python 3。请注意,选择安装哪个Miniconda只会影响根环境。无论您安装哪种版本的Miniconda,您仍然可以安装Python 2.x和Python 3.x环境。

我建议您使用Miniconda3 64位作为根环境。

您随时可以安装完整的Anaconda:

conda install anaconda

注意它可能会降低您在活动环境中的部分先前安装包的速度。

答案 1 :(得分:2)

我只想添加Mike Mullers的答案,因为我也希望我的IPython能够在32位和64位之间切换。

设置32位或64位环境后。使用以下命令

keyup

在此环境中安装ipykernel。然后用:

指定它
#misc

这里myenv是新环境的名称。有关切换内核的更多详细信息,请参阅此页面 - http://ipython.readthedocs.io/en/stable/install/kernel_install.html

答案 2 :(得分:2)

设置子目录约束

Conda具有配置变量 subdir ,可用于将软件包搜索限制在平台上(例如, win-32 )。我认为最简单的过程是创建一个空的env,将其设置为 subdir ,然后进行(受约束的)安装。例如,

win-32,Python 2.7

conda create -n py27_32
conda activate py27_32
conda config --env --set subdir win-32
conda install python=2.7

win-64,Python 3.7

conda create -n py37_64
conda activate py37_64
conda config --env --set subdir win-64
conda install python=3.7

或者,例如,如果您需要从YAML文件创建环境,但是想要一个 win-32 平台,则可以使用CONDA_SUBDIR环境变量:

set CONDA_SUBDIR=win-32
conda env create -f env.yaml -n my_env_32
set CONDA_SUBDIR=
conda activate my_env_32
conda config --env --set subdir win-32

此过程的好处是,现在在激活环境时总是会设置变量,因此将来对环境的更改将保留在指定的子目录中。

答案 3 :(得分:0)

(现在在 conda win64 - python64 activate env)

set CONDA_SUBDIR=win-32
conda install python

你会看到

<块引用>

以下包将被更高优先级的 频道:

ca-certificates anaconda/pkgs/main/win-64::ca-certifi~ --> anaconda/pkgs/main/win-32::ca-certificates-2021.7.5-h9f7ea03_1
openssl anaconda/pkgs/main/win-64::openssl-1.~ --> anaconda/pkgs/main/win-32::openssl-1.1.1k-hc431981_0 python
anaconda/pkgs/main/win-64::python-3.9~--> anaconda/pkgs/main/win-32::python-3.9.5-h53c7b84_3

继续 ([y]/n)?

只需输入“y”

此设置保存在文件 "\anaconda\envs\ you env \ .condarc"