2016-08-23 3 views
6

На моем Windows 10 машины, я создал виртуальную среду с помощью следующей команды:Конда (Python) Virtual Environment не Portable от Windows, в Linux

>conda env export > environment.yml 

Я попытался воссоздать виртуальную среду с помощью YML файл в системе Windows, и он работал нормально. Тогда я передал environment.yml на мой Linux машине (Ubuntu 16.04.1) с той же версией Конда и питона и побежал следующие команды в терминале:

$ conda env create -f environment.yml 

Я получаю следующее сообщение об ошибке:

Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata .......
Solving package specifications: .
Error: Packages missing in current linux-64 channels:
- jpeg 8d vc14_0
- libpng 1.6.22 vc14_0
- libtiff 4.0.6 vc14_2
- mkl 11.3.3 1
- numpy 1.11.1 py35_1
- openssl 1.0.2h vc14_0
- pyqt 4.11.4 py35_7
- qt 4.8.7 vc14_9
- tk 8.5.18 vc14_0
- vs2015_runtime 14.0.25123 0
- zlib 1.2.8 vc14_3

Большинство этих пакетов доступны в репозитории linux conda, но с другим ароматом. Например, если я удалю vc14_0 из строки, содержащей пакет jpeg в файле yml, это будет работать нормально. Пакет vs2015_runtime вообще не доступен в linux. Ничто не возвращается при запуске:

conda search vs2015_runtime". 

Как я могу экспортировать свою виртуальную среду переносимым способом при работе кросс-платформенный, так что все пакеты могут быть установлены в Linux, а?

Вот содержание моего environment.yml.

+1

В отношении этой проблемы есть [билет] (https://github.com/conda/conda/issues/4545), похоже, что среды conda станут более переносимыми в будущих версиях. Будем надеяться, что это произойдет, потому что это довольно раздражает – Overdrivr

+0

Было ли это еще разрешено, я собираюсь попробовать работать с обеими операционными системами и хочу, чтобы в каждом из них работало виртуальное env? – neuronet

ответ

2

Похоже, вы получаете пакеты, скомпилированные с помощью Microsoft Visual C/C++ Compiler (vc часть имени). Эти пакеты не будут совместимы с ABI из Linux, поскольку вы пытаетесь это сделать. Просто настройте пакеты, не зависящие от Windows.

+0

Когда я запускаю «conda search libpng» в Windows, я получаю кучу записей, включая следующие два. ............ ** libpng - 1.6.17 - 0 по умолчанию ** ........................ .................................................. ...................................... ** libpng - * 1.6.22 - vc14_0 defaults [vc14] ** ........................................ .. .................. .................... ........ .... Должен ли я установить первый? Как я могу сказать, что conda изменит все мои пакеты по умолчанию на те, которые не являются «vc» конкретными? Я запускаю «conda update libpng». – hANI

+0

Да, вы должны установить первый. Не уверен, как автоматически переключать все пакеты, я не так разбираюсь в conda. Вероятно, вы можете удалить пакеты «vc», установить соответствующие пакеты «не-vc» и затем создать файл .yml. – Av4t4r

 Смежные вопросы

  • Нет связанных вопросов^_^