我在 Windows 10 PC 上创建了一个 conda 虚拟环境来处理一个项目。要安装所需的包和依赖项,我使用conda install <package>
而不是pip install <package>
按照https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html# 中提到的最佳实践在环境中使用 pip
为了分发我的软件,我选择分别针对 conda 和非 conda 用户创建一个 environment.yml 和一个 requirements.txt 文件。我能够将当前的虚拟环境导出到 yml 文件中,这样 conda 用户就得到了照顾。但是,为了让非 conda 用户能够复制相同的环境,我需要创建和共享 requirements.txt 文件。可以使用创建此文件,conda list --export > requirements.txt
但此格式与 pip 不兼容,其他用户无法pip install -r requirements.txt
在其系统上使用。
使用pip freeze > requiremens.txt
是这里和这里提到的解决方案。这意味着非 conda 用户可以简单地pip install -r requirements.txt
在虚拟环境中执行,他们可以在没有 conda 的情况下使用 virtualenv 创建该虚拟环境。
但是,如果您生成上述样式的 requiremets.txt 文件,您最终会得到一个带有符号链接的 requirements.txt 文件。这是因为我们尝试为使用conda install
而不是pip …