繁体   English   中英

在 python 中创建 venv 并克隆一个 git repo 的操作

[英]Actions for creating venv in python and clone a git repo

我在这方面相对较新,而且我对操作的行有疑问。 假设您创建了一个目录,并且想要为某个项目创建一个 Python 虚拟环境并克隆一些 git 存储库(例如,来自 GitHub)。 然后你在那个目录中cd并使用venv模块(对于 python3)创建一个虚拟环境。 为此,您运行以下命令,

     python3 -m venv my_venv

这将在您的目录中创建一个名为 my_env 的虚拟环境。 要激活此环境,请运行以下命令。

     source ./my_env/bin/activate

如果在该目录中另外还有一个可以运行的 requirements.txt 文件,

     pip3 install -r ./requirements.txt

使用安装各种依赖项和包。 现在这是我感到困惑的地方。 如果你想克隆 git repos 你到底在哪里做的? 在同一目录中,您只需运行git clone并创建 git repos,或者您需要cd到另一个文件夹中。 为了让python venv获取克隆的repos就足够了,还是必须在将repos克隆到目录中后安装venv?

首先,你需要了解什么是虚拟环境,当你了解它的用途后,动作的顺序就会更加清晰。

Python 应用程序通常会使用标准库中没有的包和模块。 应用程序有时需要特定版本的库,因为应用程序可能需要修复特定的错误,或者应用程序可能是使用库接口的过时版本编写的。

这意味着一个 Python 安装可能无法满足每个应用程序的要求。 如果应用程序 A 需要特定模块的 1.0 版,而应用程序 B 需要 2.0 版,则需求存在冲突,安装 1.0 或 2.0 版将导致一个应用程序无法运行。

这个问题的解决方案是创建一个虚拟环境,一个自包含的目录树,其中包含针对特定 Python 版本的 Python 安装,以及一些附加包。

不同的应用程序可以使用不同的虚拟环境。 为了解决前面的冲突需求示例,应用程序 A 可以拥有自己的安装了 1.0 版的虚拟环境,而应用程序 B 拥有另一个安装了 2.0 版的虚拟环境。 如果应用程序 B 需要将库升级到版本 3.0,这不会影响应用程序 A 的环境。

※ 参考: 12. 虚拟环境和包


通常,以下顺序是最合适的。

  1. $ git clone <Project A> # Cloning project repository
  2. $ cd <Project A> # Enter to project directory
  3. $ python3 -m venv my_venv # If not created, creating virtualenv
  4. $ source ./my_venv/bin/activate # Activating virtualenv
  5. (my_venv)$ pip3 install -r ./requirements.txt # Installing dependencies
  6. (my_venv)$ deactivate # When you want to leave virtual environment

离开虚拟环境后,步骤 5 中安装的所有依赖项都将不可用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM