【问题标题】:Create environment from existing folder/app with pip / conda使用 pip / conda 从现有文件夹/应用程序创建环境
【发布时间】:2018-04-27 14:05:03
【问题描述】:

在开发我的应用时,我没有使用环境。现在我想使用一个并将我的应用程序的所有依赖项导出到一个 environment.yml / requirements.txt 文件中,之后我可以使用它来构建一个 docker 映像。

问题是,如果我创建一个环境,然后将其导出:

conda env export > environment.yml

我在该文件中没有任何依赖项。 或者如果我使用:

pip freeze --local > requirements.txt

我看到与我的项目无关的所有系统模块

我想 conda 或 pip 有一些东西可以遍历我所在目录中的所有文件,并将所有导入及其依赖项放在 environment.yml/requirements.txt 文件中。

我找不到执行此操作的命令..

【问题讨论】:

    标签: python pip conda


    【解决方案1】:

    您可以使用 virtualenv 将应用程序的 pip 环境与系统的其余部分隔离开来。使用:

    virtualenv <your_project_path>/venv
    

    这将为您的应用创建一个虚拟环境。然后使用;

    source venv/bin/activate
    

    这将隔离您的 pip 环境。重新安装所有依赖项并运行 pip freeze 你将只看到与项目相关的依赖项。

    pip freeze 默认获取系统上所有已安装的 pip 模块。如果您使用 virtualenv 然后安装依赖项,您的 pip 模块将驻留在您的应用程序文件夹中。

    编辑 我会根据您的 cmets 推荐一个好的 IDE,例如 PyCharm。您可以关注 tutorial here 来设置 venv 并处理所有依赖项。完成后,您可以为您的 requirements.txt 运行 pip freeze

    【讨论】:

    • 谢谢,但是我如何在这个新环境中重新安装所有依赖项,而无需检查我的应用程序的每个文件?
    • 这是一次麻烦,或者您可以使用功能强大的 IDE(例如 PyCharm)并设置您的虚拟环境,一旦完成,单击任何文件,它会要求您为您安装所有依赖项。没有麻烦。
    猜你喜欢
    • 2021-12-22
    • 2020-10-15
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    相关资源
    最近更新 更多