如何冻结仅在虚拟环境中安装的软件包,即没有全局软件包?
答案 0 :(得分:50)
您需要使用-l
或--local
选项仅冻结本地包(而不是全局包)
pip freeze -l > requirements.txt
确保您在virtaualenv
之前使用pip freeze -l
。
答案 1 :(得分:4)
仅虚拟环境中的本地包
pip freeze -l > requirements.txt # or --local instead of -l
仅用户在虚拟环境中安装的本地软件包
pip freeze --user > requirements.txt
有关详细信息,请参阅文档:https://pip.pypa.io/en/stable/reference/pip_freeze/。
答案 2 :(得分:3)
对于我(macOS),以下方法有效
path/to/venv/bin/pip3 freeze -l
答案 3 :(得分:1)
在虚拟环境中安装需要冻结的任何内容,然后
pip freeze > requirements.txt
之后,在虚拟环境中安装不想冻结的软件包。
答案 4 :(得分:1)
我在Windows 10,python 3.6上,并使用命令提示符激活了名为 env 的虚拟环境,我发现pip freeze -l
不起作用(错误),python -m pip freeze -l
不起作用(获取全局软件包),但是更改为我的虚拟环境Scripts目录并运行pip freeze
或pip freeze -l
即可。这是我的虚拟环境 env 的此解决方案/解决方法的示例:
cd \env\Scripts
pip freeze > ..\..\requirements.txt
答案 5 :(得分:0)
python venv/Path_to/bin/pip freeze -l
答案 6 :(得分:-1)
尝试以下命令:
pip -E /path/to/env/ freeze