python项目依赖包管理_python项目包管理

最近学习django 进行web开发,在deploy程序是碰到一个问题:

服务器环境与本地开发环境不是完全一样, 在本地开发过程中安装一些python django 的第三方包如:PIL ,django-voting,debug-toolbar... 一大推。难道要在服务器上从来再pip install 一次吗?

想不到pip提供了一个人性化的功能,导出现项目所有的依赖包:

pip freeze >myevn.txt

Brlapi==0.5.4

CouchDB==0.6

Django==1.2.1

Fabric==0.9.2

GnuPGInterface==0.3.2

Mako==0.2.5

MySQL-python==1.2.2

PAM==0.4.2

PIL==1.1.7

Pinax==0.9a1

SQLObject==0.13.0

Scrapy==0.10

Twisted==10.0.0

Twisted-Conch==10.0.0

Twisted-Core==10.0.0

myevn.txt 这个文件 叫需求文件

上传到服务器上 然后  pip install -E  site_envmyevn.txt  就可以下载所有依赖的包,并且产生 相应的 virtualenv.

再来解释一下这个 virtualenv 虚拟环境变量

我们有可能同时在开发 A B 两个项目  A 需要 django1.01  B  需要 django1.2.1

但是有可能PYTHONPATH 中我们已经安装了最新版本的django .

virtualenv 为我们很好地解决了这个问题,可以为不同项目创建一个PYTHON 环境。

virtualenv  A_ENVvirtualenv --no-site-packages [dev_place] --python=python2.6

source bin/activate

生成以下目录:

-- django_env

|-- bin

|   |-- activate

|   |-- activate_this.py

|   |-- easy_install

|   |-- easy_install-2.6

|   |-- pip

|   `-- python

|-- build

|-- include

|   `-- python2.6 -> /usr/include/python2.6

`-- lib

`-- python2.6

然后根据不同的需求 修改对应的包

deactivate 退出该环境

虽然这样做会产生一些磁盘空间的消耗,但是不用再担心各个项目依赖不同版本的包问题了。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-09-19 14:17

浏览 1317

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值