create commands actualizar python cross-platform conda

python - commands - conda list environments



Cómo compartir entornos conda a través de plataformas. (1)

Responder

Esta respuesta se da con el supuesto de que le gustaría asegurarse de que las mismas versiones de los paquetes que generalmente le interesan estén en diferentes plataformas y que no le interesen las mismas versiones exactas de todos los paquetes en todo el árbol de dependencias. . Si está intentando instalar la misma versión exacta de todos los paquetes en todo su árbol de dependencias que tiene una alta probabilidad de falla, ya que algunos paquetes conda tienen diferentes dependencias para osx / win / linux. Por ejemplo, la receta para otrobopt instalará diferentes paquetes en win vs. osx / linux, por lo que la lista de entornos sería diferente.

Recomendación: cree manualmente un archivo environment.yaml y especifique o fije solo las dependencias que le interesan. Deja que el solucionador de conda haga el resto. Probablemente vale la pena señalar que conda-env (la herramienta que utiliza para administrar los entornos de Conda) le recomienda explícitamente que "Siempre cree su archivo environment.yml a mano".

Entonces solo harías conda env create --file environment.yml

Echa un vistazo al conda-env readme para conda-env .

Pueden ser bastante simples:

name: basic_analysis dependencies: - numpy - pandas

O más complejo donde se fijan las dependencias y se especifican los canales anaconda.org para instalar desde:

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

En cualquier caso, puede crear un entorno con conda env create --file environment.yaml

Si tiene un caso de uso más complejo o preguntas adicionales, actualice la pregunta original y veré si puedo ayudarlo un poco más.

Los documentos de Conda en http://conda.pydata.org/docs/using/envs.html explican cómo compartir entornos con otras personas.

Sin embargo, los documentos nos dicen que esto no es multiplataforma:

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.

¿Existe un buen método para compartir y recrear un entorno conda en una plataforma (por ejemplo, CentOS) en otra plataforma (por ejemplo, Windows)?