Створіть порожнє середовище conda


86

Я можу створити нове середовище conda за допомогою програми biopythonз цим:

conda create --name snowflakes biopython

Що робити, якщо я не хочу встановлювати будь-яку програму? Здається, я не можу цього зробити:

» 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
Зазвичай потрібно хоча б встановити python. Якщо ви навіть не хочете версію python, ви можете обдурити conda, створивши вручну порожнє середовище, використовуючиmkdir -p </path/to/your/anaconda/distribution>/envs/<env-name>/bin
cel

для мене це не має сенсу. чому ми не можемо створити безпакетну env?
cammil

1
Що саме створюється, коли створюється "порожнє середовище"?
user3731622

@cammil Не впевнений, чи змінилося це в нових версіях conda, тому що коли я створюю нове середовище, не вказуючи нічого, він встановлює нуль пакетів conda create --n my_env ## створює my_env з 0 встановленими пакетами Але, коли я вказую python версія python = 3.7, тоді він встановлює основні залежності. conda create --n my_env2 python = 3.7 джерело активувати my_env2 conda list ## список близько 10 встановлених пакунків
Light_B

Відповіді:


213

Ви можете вказати ім'я пакета просто "python", щоб отримати базову, порожню установку.

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

14
Дякую. Я не впевнений, чому це не спереду та по центру на сторінці списку пакетів Anaconda
joelion

це неймовірно корисно, велике спасибі! Я також оновив свою таблицю conda, щоб включити та підкреслити це (на випадок, якщо це буде корисно для інших: github.com/NeuronQ/cookbook/wiki/Python-Conda-cheatsheet )
NeuronQ,

2
Я працюю в версії conda 4.3.23, і "conda create --name myenv" створює нове середовище без пакунків, навіть Python. Він використовує python з кореневого середовища conda.
Варун

Коли я це роблю, conda встановлює libgcc mutex, setuptools, pip та колесо в новому середовищі, тож не зовсім "мінімальний", чи не так?
Адріан

@Adrian, це приблизно мінімально можливо, якщо ви насправді хочете зробити що- небудь у цьому середовищі, наприклад, встановити інші пакети ...
joelion,

34

Якщо ви створили create_default_packagesблок у своєму .condarcфайлі, відповідь @ joelion встановить ці пакети. Якщо ви не хочете таких, використовуйте --no-default-packagesпрапор. Наприклад:

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

3
Коли я намагаюся це, з python = 2.7, він встановлює кілька pkgs, таких як libgcc-ng, certifi, libstdcxx-ng тощо. Як уникнути їх встановлення?
Ітан,

5

Щоб створити середовище, яке є абсолютно порожнім, без python та / або будь-якого іншого пакета за замовчуванням, просто створіть нову папку у envsкаталозі у вашій Anacondaінсталяції (Anaconda3 у цьому прикладі) :.

~\Anaconda3\envs>mkdir empy_env

Перший раз, коли ви активуєте це середовище, створюється каталог із іменем Scriptsу Windows, binв Linux, з кількома командними файлами. На момент цієї публікації це працює для версії Anaconda 4.3.30 як у Windows, так і в Linux.

Я помітив, що @cel запропонував те саме в першому коментарі до питання, але, очевидно, він не отримав належної уваги!


2

Ось як створити справді порожній (легкий) conda_env з 0 пакетами:

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

це займе кілька секунд, щоб створити та закінчити.


Не працює, ця команда все ще попередньо завантажила його безліччю пакетів, таких як pylint scipyтощо
Кардін

@Cardin Ні, абсолютно ні. Ця команда не матиме встановлених пакунків. Ви можете перевірити це, скориставшись, conda list ви побачите, що пакетів немає.
Аймен Алсааді,

imgur.com/a/3AiDnyh добре, я думаю, що ви технічно праві. Але, як видається, намір OP стосується пакетів pip, а не пакетів conda. Оскільки, використовуючи відповідь joelion (яка є прийнятою відповіддю), він створює conda env з мінімальними залежностями pip.
Кардін

Я думаю, що контекст цього питання стосувався того, як створити порожню конда-конву. (0 пакетів conda). І моя відповідь була такою!
Аймен Алсааді,

1
Ви маєте рацію, це вказувало на basepython у змінних env PATH, а не на my_envpython - ось чому там були пакети pip. Я помилково припустив, що вони здійснили клонування символьних посилань, саме тому я не зрозумів, чому пакети 200 піп були настільки швидкими. Дякую!
Кардін,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.