如何使用Miniconda创建无额外依赖的纯净Python虚拟环境
出现该情况通常是两个原因导致:一是conda创建环境时默认安装了配置中预设的附加包,二是导出依赖时调用了全局pip而非虚拟环境内的pip,读取到了全局安装的包列表。
解决方法
方法1:调整conda创建命令和配置,创建纯净conda环境
先清除conda默认预装包配置(如果有)
运行命令检查是否有默认预装包设置:conda config --show create_default_packages
如果输出不为空,运行以下命令清除该配置:conda config --remove-key create_default_packages创建环境时添加
--no-default-packages参数,强制不安装任何默认附加包:conda create -n my_env python=3.7 --no-default-packages激活环境后确认使用环境内的pip
- Linux/Mac 运行:
which pip,输出路径需包含你的环境名my_env - Windows 运行:
where pip,输出路径需包含你的环境名my_env
- 后续安装所需依赖后,直接运行
pip freeze > requirements.txt即可得到仅包含你手动安装依赖的列表。
方法2:使用Python原生venv创建(更轻量,完全无额外预装包)
如果不需要依赖conda的科学计算生态,Python自带的venv模块创建的环境默认完全纯净:
- 创建命令:
python3.7 -m venv my_env - 激活环境:
- Linux/Mac:
source my_env/bin/activate - Windows cmd:
my_env\Scripts\activate.bat - Windows PowerShell:
my_env\Scripts\Activate.ps1
- 激活后默认仅预装pip、setuptools两个基础包,安装所需依赖后导出的requirements.txt不会包含任何额外预装内容。
内容的提问来源于stack exchange,提问作者刘江斌
相关产品推荐
相关产品推荐

