【问题标题】:Creating a virtualenv with preinstalled packages as in requirements.txt使用预装包创建 virtualenv,如 requirements.txt 中所示
【发布时间】:2017-01-02 13:10:14
【问题描述】:

创建 virtualenv 将创建一个带有预装 pip、setuptools 和 wheel 的虚拟 python 环境。

除了这 3 个默认软件包之外,还有没有办法指定要在该 virtualenv 中预安装的软件包?使用 CLI 参数、文件或某种环境变量。

即有没有类似virtualenv venv && venv/bin/pip install -r requirements.txt 的东西可以在一个命令中运行?

【问题讨论】:

  • 您回答了自己的问题。这正是你会用那一个班轮做到这一点
  • 我想知道 virtualenv 是否自己提供这些功能。
  • 我只漏掉了一个细节:你如何命名环境?我通常每个项目都有一个。
  • 刚刚回答了我自己的问题。给定:$ cd my_project_folder$ virtualenv venv“venv”是环境的名称;它可以是任何东西。来源:Hitchhiker's Guide to Python,“Pipenv & Virtual Environments”“venv”按约定使用,推荐使用。
  • @GDB 其实目前推荐使用.venv。

标签: python virtualenv


【解决方案1】:

您通常采取的步骤是:

  • git clone <repo>
  • cd <repo>
  • pip install virtualenv(如果你还没有安装 virtualenv)
  • virtualenv venv 创建您的新环境(此处称为“venv”)
  • source venv/bin/activate进入虚拟环境
  • pip install -r requirements.txt在当前环境下安装需求

【讨论】:

  • 相信你在安装完venv后还需要python -m virtualenv env这个步骤。
  • 我只做了python -m virtualenv venv。我不需要安装 venv。
  • @r03 你用的是什么版本的python?那一定意味着virtualenv现在已经作为python的基础包安装了?
  • 我安装了python 3.7.3,但也许我以前安装过,所以我在这里可能错了。
【解决方案2】:

您现在可以使用一个名为 pipenv 的工具来做到这一点!

https://www.kennethreitz.org/essays/announcing-pipenv

快跑

pipenv install requests

它会创建一个 virtualenv 并在其中安装请求

【讨论】:

  • 我现在不建议使用pipenv,因为项目已经放弃了
  • 我在github.com/pypa/pipenv 看到很多活动——看起来并没有被放弃。
  • 我尝试了 pipenv 并且我喜欢它......直到我尝试在 docker 容器中运行某些东西。尽管我进行了相当多的研究和努力,但 pipenv 并没有在 docker 容器中工作。不过你可能有更好的技能/运气。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 2016-09-23
  • 1970-01-01
  • 1970-01-01
  • 2020-03-18
  • 2019-07-07
相关资源
最近更新 更多