如何冻结仅在虚拟环境中安装的软件包?
Posted
技术标签:
【中文标题】如何冻结仅在虚拟环境中安装的软件包?【英文标题】:How to freeze packages installed only in the virtual environment? 【发布时间】:2011-12-25 18:20:03 【问题描述】:如何冻结只安装在虚拟环境中的包,即没有全局的包?
【问题讨论】:
【参考方案1】:对我(macOS)来说,以下工作
path/to/venv/bin/pip3 freeze -l
【讨论】:
【参考方案2】:我在 Windows 10,python 3.6 上,使用命令提示符激活了名为 env 的虚拟环境我发现 pip freeze -l
不起作用(错误),python -m pip freeze -l
不起作用(获取全局包)但更改为我的虚拟环境脚本目录并运行pip freeze
或pip freeze -l
有效。这是我的虚拟环境 env 的此解决方案/解决方法的示例:
cd \env\Scripts
pip freeze > ..\..\requirements.txt
【讨论】:
【参考方案3】:python venv/Path_to/bin/pip freeze -l
【讨论】:
【参考方案4】:您需要使用-l
或--local
选项仅冻结本地包(而不是全局包)
pip freeze -l > requirements.txt
在进行pip freeze -l
之前,请确保您在virtualenv
中工作。
【讨论】:
对我来说这有效(或使用python
用于旧版本):python3 -m pip freeze -l > requirements.txt
【参考方案5】:
试试下面的命令:
pip -E /path/to/env/ freeze
【讨论】:
我认为-E
参数是使用里面的requirements.txt文件来显示版本控制项目地址
它们是不同的“-E”参数:这是命令行参数,表示 pip 在给定的 virtualenv 中执行
你能指点我这方面的文档吗?即使启用了全局站点包,它是否也只冻结指定的 deverelenv?
运行“pip help”并查看“选项”部分。
$ pip -E venv/ freeze Usage: pip COMMAND [OPTIONS] pip: error: no such option: -E
【参考方案6】:
在你的虚拟环境中安装你需要冻结的任何东西,然后
pip freeze > requirements.txt
然后在你不想冻结的虚拟环境中安装包。
【讨论】:
【参考方案7】:仅虚拟环境中的本地包
pip freeze -l > requirements.txt # or --local instead of -l
只有用户在虚拟环境中安装的本地包
pip freeze --user > requirements.txt
有关详细信息,请参阅文档:https://pip.pypa.io/en/stable/reference/pip_freeze/。
【讨论】:
以上是关于如何冻结仅在虚拟环境中安装的软件包?的主要内容,如果未能解决你的问题,请参考以下文章