Boş conda ortamı oluşturun


87

Şu programla yeni bir conda ortamı oluşturabilirim biopython:

conda create --name snowflakes biopython

Ya herhangi bir program kurmak istemiyorsam? Görünüşe göre bunu yapamam:

» 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
Genellikle en azından python kurmak istersiniz. Bir python sürümü bile istemiyorsanız,mkdir -p </path/to/your/anaconda/distribution>/envs/<env-name>/bin
cel

bana mantıklı gelmiyor. neden paketsiz bir ortam yaratamıyoruz?
cammil

1
"Boş bir ortam" oluşturulduğunda tam olarak ne oluşturulur?
user3731622

@cammil Conda'nın daha yeni sürümlerinde bunun değişip değişmediğinden emin değilim çünkü hiçbir şey belirtmeden yeni bir ortam oluşturduğumda, sıfır paket kuruyor conda create --n my_env ##, 0 paket yüklü my_env'i oluşturuyor Ama bir python sürüm örneğin python = 3.7 sonra temel bağımlılıkları yükler. conda create --n my_env2 python = 3.7 source enable my_env2 conda list ## list yaklaşık 10 paket kurulu
Light_B

Yanıtlar:


218

Temel, boş bir kurulum elde etmek için sadece "python" paket adı verebilirsiniz.

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

14
Teşekkürler. Bunun Anaconda paket listesi sayfasının ön ve orta kısmının neden olmadığından emin değilim
joelion

bu inanılmaz derecede faydalı, çok teşekkürler! Ayrıca bunu eklemek ve vurgulamak için conda çizelgemi de güncelledim (başkalarına yardımcı olması durumunda: github.com/NeuronQ/cookbook/wiki/Python-Conda-cheatsheet )
NeuronQ

2
Conda 4.3.23 sürümündeyim ve "conda create --name myenv", python bile dahil hiçbir paket içermeyen yeni bir ortam yaratıyor. Conda root ortamından python kullanır.
Varun

Bunu yaptığımda, conda yeni ortama libgcc mutex, setuptools, pip ve wheel'i yüklüyor, yani tam olarak "minimal" değil mi?
Adrian

@Adrian, bu ortamda başka paketler yüklemek gibi gerçekten bir şey yapmak istiyorsanız, mümkün olduğu kadar minimum düzeyde ...
joelion

36

Dosyanızda bir create_default_packagesblok oluşturduysanız .condarc, @ joelion'un cevabı bu paketleri kuracaktır. Bunları istemiyorsan --no-default-packagesbayrağı kullan. Örneğin:

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

4
Bunu python = 2.7 ile denediğimde, libgcc-ng, certifi, libstdcxx-ng, vb. Gibi birkaç pkg yüklüyor. Bunların yüklenmesinden nasıl kaçınılır?
Ethan

5

Tamamen boş, python ve / veya başka herhangi bir varsayılan paket olmadan bir ortam oluşturmak için envs, Anacondakurulumunuzdaki dizinde yeni bir klasör oluşturun (bu örnekte Anaconda3) :.

~\Anaconda3\envs>mkdir empy_env

Bu ortamı ilk kez etkinleştirdiğinizde Scripts, binLinux'ta Windows'ta birkaç toplu iş dosyasıyla adlandırılan bir dizin oluşturulur. Bu yazının yazıldığı sırada bu, hem Windows hem de Linux'ta Anaconda sürüm 4.3.30 için çalışıyor.

@Cel'in sorunun altındaki ilk yorumda da aynı şeyi önerdiğini fark ettim, ancak açıkça hak ettiği ilgiyi görmemiş!


4

0 paket ile gerçekten boş (hafif) bir conda_env nasıl oluşturulur:

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

oluşturmak ve bitirmek birkaç saniye sürecektir.


Çalışmıyor, bu komut hala pylint scipy, vb. Gibi tonlarca paketle önceden
yükledi

@Cardin Hayır, kesinlikle hayır. Bu komutun kurulu paketi olmayacak. Kullanarak kontrol edebilirsiniz conda list , paket olmadığını göreceksiniz.
Aymen Alsaadi

imgur.com/a/3AiDnyh tamam, teknik olarak haklı olduğunu düşünüyorum. Ancak OP'nin amacı conda paketleri değil, pip paketleri ile ilgili görünmektedir. Çünkü joelion'un cevabını kullanmak (kabul edilen cevap budur), minimum pip bağımlılığı olan bir koşullu ortam yaratır.
Cardin

1
Sanırım bu sorunun bağlamı boş bir conda env nasıl yaratılacağıyla ilgili. (0 conda paketi). Ve cevabım bunu iletmek oldu!
Aymen Alsaadi

1
Haklısın, basepython yerine PATH env değişkenlerinde my_envpython'u gösteriyordu - bu yüzden pip paketleri oradaydı. Yanlışlıkla sembolik bağlantı klonlama yaptıklarını düşünmüştüm, bu yüzden 200 pip paketinin neden bu kadar hızlı olduğunu anlayamadım. Teşekkürler!
Cardin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.