发布网友 发布时间:2023-04-28 12:26
共1个回答
热心网友 时间:2023-10-28 06:26
Virtual
首先Python似乎没有类似Maven/Ant这样的项目管理工具。那么当一台机器上有多个python项目,且这些python项目各自有不同的依赖,不想互相干扰时怎么办呢?
官方做法是使用Virtual将每个项目互相隔离开。一般情况下,我们使用python解释器运行python脚本或mole:
>pythonmyScript.py
运行的目录就是安装的python解释器,即python.exe所在的目录。而Virtual就是给每个项目都生成一个项目独有的目录,这个目录里包含python解释器,python标准类库和其他各式各样的必要文件。这样每个项目就可以使用不同的解释器和类库,且互不干扰。
创建过程也很简单。首先找到pyvenv.py所在的目录,这个文件通常在安装目录的自目录Toolsscripts下。这是一个生成Virtual的工具。然后运行:
>pyvenvtutorial-env
运行后就会生成一个名为“tutorial-env”的目录。找到这个目录,可以发现正如官网所说,这个目录包含运行python项目所必须的一切文件。使用在各自Virtual目录里包含的解释器来运行特定的python项目就可以了。同时,对于那些每个项目使用的特定的依赖(packages或mole),则加入到各自Virtual目录的类库子目录中就可以了。这里需要注意的是。创建完Virtual后,还需要激活。做法很简单,在上例tutorial-env目录下执行下的命令即可:
>tutorial-env/Scripts/activate
PIP
PIP是官方提供的安装python第三方类库(packages/mole)的工具。它可以去PPI(pythonpackagesindex)查找或下载第三方类库。网址是:pypi.python.org/pypi
找到上例Virtual目录下的pip.exe并运行:
>pipinstalllib_name
即可安装,其他功能请自行查看手册。如果是在python的安装目录下运行pip,则类库可以被非Virtual的所有项目使用。PIP安装的其实是package。
.txt
在Virtual目录下运行:
>pipfreeze>.txt
可以生产一个当前项目所有依赖类库及其版本的list文件,文件名就是.txt(当然也可以用别的名字)。文件内容大致如下:
novas==3.1.1.3
numpy==1.9.2
requests==2.7.0
使用.txt的好处就是:
The.txtcanthenbecommittedtoversioncontrolandshippedaspartofanapplication.Userscantheninstallallthenecessarypackageswith“install-r“:
>pipinstall-r.txt
这样就可以方便的管理项目依赖了。如果不使用requirements.txt,直接使用versioncontrol存储VirtualEnvironments目录,其他程序员直接下载该目录就可以开始项目开发的做法也可以。