我对这一切都比较陌生,而且我对这行操作有问题。假设您创建了一个目录,并且想要为某个项目创建一个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。虚拟环境和包
通常,以下顺序是最合适的。
$ git clone <Project A> # Cloning project repository
$ cd <Project A> # Enter to project directory
$ python3 -m venv my_venv # If not created, creating virtualenv
$ source ./my_venv/bin/activate # Activating virtualenv
(my_venv)$ pip3 install -r ./requirements.txt # Installing dependencies
(my_venv)$ deactivate # When you want to leave virtual environment
离开虚拟环境后,步骤5中安装的所有依赖项都将不可用。
源代码/my_venv/bin/activate#激活虚拟
你所说的来源是什么意思。我们能用下面这样的步骤吗
my_venv/Scripts/activate.bat