Подтвердить что ты не робот

Использование нескольких Python-движков (32Bit/64bit и 2.7/3.5)

Я хотел бы использовать Python для научных приложений, и после некоторых исследований было решено, что я буду использовать Anaconda, поскольку он поставляется в комплекте с множеством пакетов и добавлять новые модули с помощью conda install через cmd легко.

Я предпочитаю использовать 64-битную версию для лучшего использования и эффективности использования RAM, но Также требуется 32-битная версия, потому что некоторые библиотеки 32-битные. Аналогично, я предпочитаю использовать Python 3.5, поскольку это будущее и то, как все происходит. Но загрузок библиотек все равно 2.7, что означает, что мне нужны оба.

Мне нужно установить 4 версии Anaconda (64 бит 2.7, 64 бит 3.5, 32 бит 2.7, 64 бит 3.5). Каждая версия составляет около 380 МБ. Я собираюсь использовать Jupyter notebook и Spyder в качестве среды IDE. При необходимости мне пришлось переключаться между версиями. У меня были конфликтующие библиотеки, проблемы с путями и всевозможные странные проблемы.

Итак, я планирую сделать чистую установку с нуля. Я хотел бы знать, есть ли более разумный способ справиться с этим. Я использую 64-разрядную версию Windows 7, если это имеет значение.

4b9b3361

Ответ 1

Обязательно установите правильные переменные окружения (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-битный бит.

UPDATE

Для этого вам не нужно устанавливать полный дистрибутив Anaconda. Miniconda достаточно:

Эти установщики Miniconda содержат менеджер пакетов conda и Python. После установки Miniconda вы можете использовать команду conda для установки любых других пакетов и создания сред и т.д....

Существует два варианта установки: Miniconda - это Python 2, а Miniconda3 - это Python 3. Обратите внимание, что выбор, который установлен Miniconda, влияет только на корневую среду. Независимо от того, какую версию Miniconda вы устанавливаете, вы все равно можете установить среды Python 2.x и Python 3.x.

Я бы рекомендовал использовать Miniconda3 64-bit в качестве корневой среды.

Вы всегда можете установить полную Anaconda позже:

conda install anaconda

Примечание, чтобы он мог понизить некоторые из ранее установленных пакетов в активной среде.

Ответ 2

Я просто хотел добавить к Mike Mullers ответ, так как я также хотел, чтобы мой IPython переключался между 32-битными и 64-битными.

После настройки 32-битной или 64-битной среды. Используйте следующие команды

pip install ipykernel

установить ipykernel на этом env. Затем назначьте его с помощью

python -m ipykernel install --user --name myenv --display-name "Python (myenv)"

здесь myenv - это имя вашей новой среды. См. Здесь дополнительную информацию о переключении ядер - http://ipython.readthedocs.io/en/stable/install/kernel_install.html

Ответ 3

Установка ограничения подкаталога

В 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

Приятной особенностью этой процедуры является то, что переменная теперь будет всегда устанавливаться при активации env, поэтому будущие изменения в env останутся в указанном подкаталоге.