Python项目管理
2015-12-27 11:45
841 查看
Virtual Environments
首先Python似乎没有类似Maven/Ant这样的项目管理工具。那么当一台机器上有多个python项目,且这些python项目各自有不同的依赖,不想互相干扰时怎么办呢?
官方做法是使用Virtual Environments将每个项目互相隔离开。一般情况下,我们使用python解释器运行python脚本或module:
>python myScript.py
运行的目录就是安装的python解释器,即python.exe所在的目录。而Virtual Environments就是给每个项目都生成一个项目独有的目录,这个目录里包含python解释器,python标准类库和其他各式各样的必要文件。这样每个项目就可以使用不同的解释器和类库,且互不干扰。
创建过程也很简单。首先找到pyvenv.py所在的目录,这个文件通常在安装目录的自目录\Tools\scripts下。这是一个生成Virtual Environments的工具。然后运行:
>pyvenv tutorial-env
运行后就会生成一个名为“tutorial-env”的目录。找到这个目录,可以发现正如官网所说,这个目录包含运行python项目所必须的一切文件。使用在各自Virtual Environments目录里包含的解释器来运行特定的python项目就可以了。同时,对于那些每个项目使用的特定的依赖(packages或module),则加入到各自Virtual Environments目录的类库子目录中就可以了。这里需要注意的是。创建完Virtual Environments后,还需要激活。做法很简单,在上例tutorial-env目录下执行下的命令即可:
>tutorial-env/Scripts/activate
PIP
PIP是官方提供的安装python第三方类库(packages/module)的工具。它可以去PPI(python packages index)查找或下载第三方类库。网址是:https://pypi.python.org/pypi
找到上例Virtual Environments目录下的pip.exe并运行:
>pip install lib_name
即可安装,其他功能请自行查看手册。如果是在python的安装目录下运行pip,则类库可以被非Virtual Environments的所有项目使用。PIP安装的其实是package。
Requirements.txt
在Virtual Environments目录下运行:
>pip freeze > requirements.txt
可以生产一个当前项目所有依赖类库及其版本的list文件,文件名就是requirements.txt(当然也可以用别的名字)。文件内容大致如下:
novas==3.1.1.3
numpy==1.9.2
requests==2.7.0
使用requirements.txt的好处就是:
The requirements.txt can then be committed to version control and shipped as part of an application. Users can then install all the necessary packages with “install -r“:
>pip install -r requirements.txt
这样就可以方便的管理项目依赖了。如果不使用requirements.txt,直接使用version control存储Virtual Environments目录,其他程序员直接下载该目录就可以开始项目开发的做法也可以。
首先Python似乎没有类似Maven/Ant这样的项目管理工具。那么当一台机器上有多个python项目,且这些python项目各自有不同的依赖,不想互相干扰时怎么办呢?
官方做法是使用Virtual Environments将每个项目互相隔离开。一般情况下,我们使用python解释器运行python脚本或module:
>python myScript.py
运行的目录就是安装的python解释器,即python.exe所在的目录。而Virtual Environments就是给每个项目都生成一个项目独有的目录,这个目录里包含python解释器,python标准类库和其他各式各样的必要文件。这样每个项目就可以使用不同的解释器和类库,且互不干扰。
创建过程也很简单。首先找到pyvenv.py所在的目录,这个文件通常在安装目录的自目录\Tools\scripts下。这是一个生成Virtual Environments的工具。然后运行:
>pyvenv tutorial-env
运行后就会生成一个名为“tutorial-env”的目录。找到这个目录,可以发现正如官网所说,这个目录包含运行python项目所必须的一切文件。使用在各自Virtual Environments目录里包含的解释器来运行特定的python项目就可以了。同时,对于那些每个项目使用的特定的依赖(packages或module),则加入到各自Virtual Environments目录的类库子目录中就可以了。这里需要注意的是。创建完Virtual Environments后,还需要激活。做法很简单,在上例tutorial-env目录下执行下的命令即可:
>tutorial-env/Scripts/activate
PIP
PIP是官方提供的安装python第三方类库(packages/module)的工具。它可以去PPI(python packages index)查找或下载第三方类库。网址是:https://pypi.python.org/pypi
找到上例Virtual Environments目录下的pip.exe并运行:
>pip install lib_name
即可安装,其他功能请自行查看手册。如果是在python的安装目录下运行pip,则类库可以被非Virtual Environments的所有项目使用。PIP安装的其实是package。
Requirements.txt
在Virtual Environments目录下运行:
>pip freeze > requirements.txt
可以生产一个当前项目所有依赖类库及其版本的list文件,文件名就是requirements.txt(当然也可以用别的名字)。文件内容大致如下:
novas==3.1.1.3
numpy==1.9.2
requests==2.7.0
使用requirements.txt的好处就是:
The requirements.txt can then be committed to version control and shipped as part of an application. Users can then install all the necessary packages with “install -r“:
>pip install -r requirements.txt
这样就可以方便的管理项目依赖了。如果不使用requirements.txt,直接使用version control存储Virtual Environments目录,其他程序员直接下载该目录就可以开始项目开发的做法也可以。
相关文章推荐
- 读书笔记--python数据可视化--005_导出数据到JSON、CSV和EXcel
- python 自定义信号处理器
- [Python]sqlite3二进制文件存储问题(BLOB)(You must not use 8-bit bytestrings unless you use a text_factory...)
- python模块学习之OS模块
- python基础篇
- 读书笔记--python数据可视化--004_读取JSON数据
- Python标准库02 时间与日期 (time, datetime包)
- python成长之路——第一天
- 初学python1
- python中的subprocess.Popen()使用
- Python基础第一篇
- 简明Python教程
- python build-in functions
- python初级学习之基于收发邮件的远程控制程序
- 一个用Python编写的股票数据(沪深)爬虫和选股策略测试框架
- python之路之猜数游戏
- 使用web ssh 登陆设备---gateone开发之旅
- Python
- Python数据库ORM SQLAlchemy 0.7学习笔记(7) 关系
- python中%r和%s的区别