如何使用 Miniconda 创建纯 Python 虚拟环境?

How can I use Miniconda to create a pure Python virtual environment?

当我使用以下命令创建新的虚拟环境时,它成功了。

conda create -n my_env python=3.7

但是当我想将新环境的包导出到requirements.txt文件时,发现已经安装了很多其他的包

asgiref==3.3.4
asn1crypto==0.24.0
attrs==17.4.0
Automat==0.6.0
backports.entry-points-selectable==1.1.0
certifi==2018.1.18
chardet==3.0.4
click==6.7
colorama==0.3.7
configobj==5.0.6
constantly==15.1.0
cryptography==2.1.4
distlib==0.3.2
distro-info===0.18ubuntu0.18.04.1
Django==3.1.3
django-debug-toolbar==3.2.1
django-filter==2.4.0
djangorestframework==3.12.2
filelock==3.0.12
httplib2==0.9.2
hyperlink==17.3.1
idna==2.6
importlib-metadata==4.6.4
importlib-resources==5.2.2
incremental==16.10.1
keyring==10.6.0
keyrings.alt==3.0
language-selector==0.1
mysqlclient==2.0.3
netifaces==0.10.4
PAM==0.4.2
platformdirs==2.2.0
pyasn1==0.4.2
pyasn1-modules==0.2.1
pycrypto==2.6.1
pygobject==3.26.1
pyOpenSSL==17.5.0
pyserial==3.4
python-apt==1.6.4
python-debian==0.1.32
pytz==2021.1
pyxdg==0.25
PyYAML==3.12
requests==2.18.4
requests-unixsocket==0.1.5
SecretStorage==2.3.1
service-identity==16.0.0
six==1.11.0
sqlparse==0.4.1
ssh-import-id==5.7
systemd-python==234
Twisted==17.9.0
typing-extensions==3.7.4.3
ufw==0.36
urllib3==1.22
virtualenv==20.7.2
wrapt==1.12.1
zipp==3.5.0
zope.interface==4.3.2

那么我应该怎么做才能创建一个纯Python虚拟环境呢?换句话说,当我为一个新的虚拟环境导出包时,我会得到一个空白requirements.txt。谢谢

当我至少用 conda 4.9.2 创建 my_ven 时,环境似乎是空的。

>conda create -n my_env python=3.9
>conda activate my_env
>pip freeze
certifi==2021.5.30
wincertstore==0.2

这可能是由于定义了 PYTHONPATH 变量,或者之前在系统级或用户级安装了软件包(例如,pip install --user)。

要正确隔离 Python 环境(Conda 所期望的),用户应该取消设置 PYTHONPATH 并删除所有用户级包(通常在 ~/.local/lib/python*/site-packages 中)。

之所以安装不同版本的 Python 导致一个干净的解释器 REPL,是因为 Python 包只兼容次要版本。也就是说,你要么在 PYTHONPATH 中有另一个 Python 3.7,要么你有一个 ~/.local/lib/python3.7/site-packages.

请参阅有关 Using Pip with Conda 的其他文档。