在python中创建venv和克隆git-reo的操作



我对这一切都比较陌生,而且我对这行操作有问题。假设您创建了一个目录,并且想要为某个项目创建一个python虚拟环境,并克隆一些git repo(例如,从GitHub(。然后在该目录中cd,并使用venv模块(用于python3(创建一个虚拟环境。为此,您运行以下命令,

python3 -m venv my_venv

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

source ./my_env/bin/activate

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

pip3 install -r ./requirements.txt

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

首先,您需要了解什么是虚拟环境,当您了解它的用途时,操作顺序将更加清晰。

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中安装的所有依赖项都将不可用。

源代码/my_venv/bin/activate#激活虚拟

你所说的来源是什么意思。我们能用下面这样的步骤吗

my_venv/Scripts/activate.bat

最新更新