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

How to import (install) dependencies (packages) from a global system environment to a virtual environment

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

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

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

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

所以解决方案是:

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

    $ pip freeze > requirements.txt
    
  2. 通过运行在上面创建文件“requirements.txt “ 存在;但首先检查:

    a) 如果 Pipfile 不存在:

    $ pipenv install
    

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

    $ pipenv install -r requirements.txt
    

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

但是我个人建议为了避免这个问题的发生,总是使用命令 $ pipenv install 而不是 $ pip install.

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

 my_backages.txt

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

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

$ pip install -r my_backages.txt