如何将依赖项(包)从全局系统环境导入(安装)到虚拟环境

Posted

技术标签:

【中文标题】如何将依赖项(包)从全局系统环境导入(安装)到虚拟环境【英文标题】:How to import (install) dependencies (packages) from a global system environment to a virtual environment 【发布时间】:2022-01-23 03:57:14 【问题描述】:

我在全局系统环境而不是我的虚拟环境 (virtualenv) 中安装了我需要的包(依赖项),因为我在虚拟环境之外使用了命令 pip install <package-name>

所以我想知道如何从它们中列出并将它们安装在我的任何 virtualenvs 中?

【问题讨论】:

【参考方案1】:

这在您错误地在全局系统环境而不是 virtualenv 中安装了一些包(依赖项)的情况下很有用。

例如使用命令“pip install”,而不是“pipenv install”(在虚拟环境之外)。

所以解决办法是:

    在全局系统环境中(在任何 virtualenv 之外),从所有已安装的包中创建一个“requirements.txt”文件:

    $ pip freeze > requirements.txt
    

    通过在上面创建的文件“requirements.txt”存在的根目录中运行以下命令,将已安装的依赖项从创建的“requirements.txt”文件导入到Pipfile;但首先检查:

    a) 如果 Pipfile 不存在:

    $ pipenv install
    

    b) 如果 Pipfile 确实存在(即已经创建了 virtualenv):

    $ pipenv install -r requirements.txt
    

然后您的包列表文件“Pipfile”和“Pipfile.lock”将被更新并锁定。

但我个人建议为避免此问题发生,请始终使用命令 $ pipenv install 而不是$ pip install

【讨论】:

【参考方案2】:

您可以在您的全局系统环境中创建文件,该文件的格式如下:

 my_backages.txt

    $ pip install -U Flask-SQLAlchemy
    $ pip install --upgrade
    $ pip install flask 
 

然后你可以使用 pipfile 作为下一个:

$ pip install -r my_backages.txt

【讨论】:

以上是关于如何将依赖项(包)从全局系统环境导入(安装)到虚拟环境的主要内容,如果未能解决你的问题,请参考以下文章

虚拟环境的安装

将虚拟环境安装的包导入 Jupyter Notebook

通过pip命令导出和导入Python环境安装包

From delete library to run の 初见Django篇

该和virtualenv说再见吗?

如何将 python 模块从源代码安装到虚拟环境中