Crea un ambiente conda vuoto


87

Posso creare un nuovo ambiente conda, con programma biopythoncon questo:

conda create --name snowflakes biopython

E se non voglio installare alcun programma? Sembra che non posso farlo:

» conda create --name tryout
Error: too few arguments, must supply command line package specs or --file

You can specify one or more default packages to install when creating
an environment.  Doing so allows you to call conda create without
explicitly providing any package names.

To set the provided packages, call conda config like this:

    conda config --add create_default_packages PACKAGE_NAME

2
Di solito vuoi installare almeno python. Se non vuoi nemmeno una versione python, puoi imbrogliare conda creando manualmente un ambiente vuoto usandomkdir -p </path/to/your/anaconda/distribution>/envs/<env-name>/bin
cel

non ha senso per me. perché non possiamo creare un ambiente senza pacchetto?
cammil

1
Che cosa viene creato esattamente quando viene creato un "ambiente vuoto"?
user3731622

@cammil Non sono sicuro che questo sia cambiato nelle versioni più recenti di conda perché quando creo un nuovo ambiente senza specificare nulla, installa zero pacchetti conda create --n my_env ## crea my_env con 0 pacchetti installati Ma, quando specifico un python versione per esempio python = 3.7 quindi installa le dipendenze di base. conda create --n my_env2 python = 3.7 sorgente attiva my_env2 conda list ## elenca circa 10 pacchetti installati
Light_B

Risposte:


218

Puoi dare un nome di pacchetto semplicemente "python" per ottenere un'installazione di base vuota.

conda create --name myenv python
conda create --name myenv python=3.4

14
Grazie. Non sono sicuro del motivo per cui questo non è in primo piano nella pagina dell'elenco dei pacchetti Anaconda
joelion

questo è incredibilmente utile, grazie mille! Ho anche aggiornato il mio chetsheet conda per includerlo ed enfatizzarlo (nel caso sia utile ad altri: github.com/NeuronQ/cookbook/wiki/Python-Conda-cheatsheet )
NeuronQ

2
Sono sulla versione 4.3.23 di conda e "conda create --name myenv" crea un nuovo ambiente senza pacchetti, nemmeno python. Utilizza python dall'ambiente radice di conda.
Varun

Quando lo faccio, conda installa libgcc mutex, setuptools, pip e wheel nel nuovo ambiente, quindi non è esattamente "minimale" vero?
Adrian

@Adrian è il minimo possibile se vuoi effettivamente fare qualcosa in quell'ambiente, come installare altri pacchetti ...
joelion

36

Se hai creato un file create_default_packages blocco nel tuo .condarcfile, la risposta di @ joelion installerà quei pacchetti. Se non li vuoi, usa la --no-default-packagesbandiera. Per esempio:

conda create --name myenv python --no-default-packages

4
Quando lo provo, con python = 2.7, sto installando diversi pkg, come libgcc-ng, certifi, libstdcxx-ng, ecc. Come evitare l'installazione di questi?
Ethan

5

Per creare un ambiente assolutamente vuoto, senza python e / o qualsiasi altro pacchetto predefinito, basta creare una nuova cartella nella envsdirectory nella propria Anacondainstallazione (Anaconda3 in questo esempio) :.

~\Anaconda3\envs>mkdir empy_env

La prima volta che attivi questo ambiente, una directory denominata Scriptsbin viene creata in Windows, in Linux, con alcuni file batch. Al momento di questo post funziona per Anaconda versione 4.3.30 sia in Windows che in Linux.

Ho notato che @cel ha suggerito la stessa cosa nel primo commento sotto la domanda, ma ovviamente non ha avuto l'attenzione che merita!


4

Ecco come creare un conda_env veramente vuoto (leggero) con 0 pacchetti:

conda create --name myenv --no-default-packages

ci vorranno alcuni secondi per creare e finire.


Non funziona, quel comando lo ha ancora precaricato con tonnellate di pacchetti come pylint scipy, ecc.
Cardin

@Cardin No, assolutamente no. Questo comando non avrà pacchetti installati. Puoi controllarlo usando conda list vedrai che non ci sono pacchetti.
Aymen Alsaadi

imgur.com/a/3AiDnyh ok, penso che tu abbia ragione tecnicamente. Ma l'intenzione di OP sembra riguardare i pacchetti pip, non i pacchetti conda. Perché usando la risposta di joelion (che è la risposta accettata), crea un ambiente conda con dipendenze pip minime.
Cardin

1
Penso che il contesto di questa domanda riguardasse come creare un vuoto conda env. (0 pacchetti conda). E la mia risposta lo stava fornendo!
Aymen Alsaadi

1
Hai ragione, puntava a basepython nelle variabili env PATH, invece che a my_envpython - ecco perché c'erano i pacchetti pip. Avevo erroneamente pensato che facessero la clonazione del collegamento simbolico, motivo per cui non ho capito perché 200 pacchetti pip fossero così veloci. Grazie!
Cardin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.