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

Как обмениваться средами conda на разных платформах

Конда документа в http://conda.pydata.org/docs/using/envs.html объясняет, как обмениваться средами с другими людьми.

Однако, документы говорят нам, что это не перекрестная платформа:

NOTE: These explicit spec files are not usually cross platform, and      
therefore have a comment at the top such as # platform: osx-64 showing the  
platform where they were created. This platform is the one where this spec
file is known to work. On other platforms, the packages specified might not
be available or dependencies might be missing for some of the key packages
already in the spec.

NOTE: Conda does not check architecture or dependencies when installing 
from an explicit specification file. To ensure the packages work correctly,
be sure that the file was created from a working environment and that it is 
used on the same architecture, operating system and platform, such as linux-
64 or osx-64.

Есть ли хороший способ совместного использования и воссоздания среды conda на одной платформе (например, CentOS) на другой платформе (например, Windows)?

4b9b3361

Ответ 1

Ответ

Этот ответ дается с предположением, что вы хотели бы убедиться, что те же версии пакетов, о которых вы обычно заботитесь, разные платформы и что вам не нужны точные версии все пакеты во всем дереве зависимостей. Если вы пытаетесь установить точно такую ​​же версию всех пакетов во всем дереве зависимостей, высокая вероятность отказа, поскольку некоторые пакеты conda имеют разные зависимостей для osx/win/linux. Например, рецепт для otrobopt будет устанавливать разные пакеты на win vs osx/linux, поэтому список окружения будут отличаться.

Рекомендация: вручную создайте файл environment.yaml и укажите или закрепите только те зависимости, о которых вы заботитесь.. Пусть решает конда. Вероятно, стоит отметить, что conda-env (инструмент, который вы используете для управления кондой среды) явно рекомендует, чтобы вы "Всегда создавали свои файл environment.yml вручную. "

Тогда вы просто выполните conda env create --file environment.yml

Посмотрите на readme для conda-env.

Они могут быть довольно простыми:

name: basic_analysis
dependencies:
  - numpy
  - pandas

Или сложнее, когда вы привязываете зависимости и указываете каналы anaconda.org на установить из:

name: stats-web
channels:
  - javascript
dependencies:
  - python=3.4   # or 2.7 if you are feeling nostalgic
  - bokeh=0.9.2
  - numpy=1.9.*
  - nodejs=0.10.*
  - flask
  - pip:
    - Flask-Testing

В любом случае вы можете создать среду с conda env create --file environment.yaml

Если у вас более сложный вариант использования или дополнительные вопросы, обновите оригинал вопрос, и я посмотрю, не могу ли я помочь вам немного больше.