`
hqman
  • 浏览: 361537 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

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_env myevn.txt  就可以下载所有依赖的包,并且产生 相应的 virtualenv.


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

我们有可能同时在开发 A B 两个项目  A 需要 django1.01  B  需要 django1.2.1
但是有可能PYTHONPATH 中我们已经安装了最新版本的django .
virtualenv 为我们很好地解决了这个问题,可以为不同项目创建一个PYTHON 环境。

virtualenv  A_ENV  virtualenv --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 退出该环境

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








分享到:
评论

相关推荐

    python包管理工具pip-6.0.7

    Python的包管理工具pip是Python生态系统中的核心组件之一,它使得开发者能够轻松地安装、升级、卸载和管理Python库。pip-6.0.7是这个工具的一个特定版本,发布于2015年,提供了对Python依赖的便捷处理功能。 首先,...

    PYTHON 项目打包案例.zip

    2. **源代码管理**:Python项目中的源代码一般放在`src`或者`app`目录下,遵循一定的命名规范和组织结构,例如,将不同功能的模块按照包(package)的形式组织。 3. **依赖管理**:`requirements.txt`文件用于记录...

    Test.zip,Python项目打包成wheel例子

    在Python开发中,将项目打包成可...通过这个简单的例子,你不仅学会了如何将Python项目打包成wheel,也对Python的包管理和分发有了更深入的理解。在实际开发中,熟练掌握这些技能将极大地提升代码的可复用性和分享性。

    Python-Curdling管理Python包的命令行工具

    总的来说,`Curdling`作为一个Python的包管理工具,提供了一种更高效、更灵活的方式来处理Python项目的依赖和包管理。对于那些需要精细控制包安装和管理的开发者,`Curdling`是一个值得尝试的工具。通过熟练掌握`...

    Python项目开发实战 源代码

    这个压缩包中的"Python项目开发实战 (源代码)"提供了丰富的实例,让你能够深入学习Python的实际应用。以下是基于这些资源可能涵盖的一些核心知识点: 1. **基础语法**:Python的基础语法包括变量、数据类型(如...

    Python-这是一个pyhton打包服务器项目

    总结来说,这个Python打包服务器项目提供了一个自动化流程,用于监测Git仓库的更新并生成一键启动的发布包,旨在为Python开发者带来更便捷的部署体验,特别是对于希望简化Python项目部署的公司而言。其核心功能包括...

    基于python3编写的web后台管理系统源码.zip

    基于python3编写的web后台管理系统,基于layui采用Django框架实现完整的后台管理系统,包含菜单权限、机构权限、数据权限等,功能齐全。 基于python3编写的web后台管理系统,基于layui采用Django框架实现完整的...

    基于Python的表情包管理系统源码+使用说明+大量表情包gif.zip

    基于Python的表情包管理系统源码+使用说明+大量表情包gif.zip基于Python的表情包管理系统源码+使用说明+大量表情包gif.zip基于Python的表情包管理系统源码+使用说明+大量表情包gif.zip基于Python的表情包管理系统...

    Linux环境下离线安装python打包环境所需要的包

    其次,`pip`是Python的包管理器,用于安装和管理Python库。`pip-20.3.1.tar.gz`是pip的一个版本,安装方法类似: ```bash tar -zxvf pip-20.3.1.tar.gz cd pip-20.3.1 python setup.py install ``` 这样可以确保你有...

    python 本地包

    在本地环境中开发 Python 项目时,使用本地包管理工具可以确保你的环境与生产环境保持一致,减少因依赖问题引起的调试时间。此外,对于企业内部的私有库,使用这种方式可以方便地分发和更新。 6. **版本管理和依赖...

    python_包管理工具_Anaconda3-5.2.0-Windows-x86_64_可适配python3.6和3.7

    这个压缩包文件“python_包管理工具_Anaconda3-5.2.0-Windows-x86_64_可适配python3.6和3.7.exe”是Anaconda3的5.2.0版本,专为64位的Windows系统设计,且兼容Python 3.6和3.7两个版本。 1. Anaconda核心功能: - ...

    Python-python库自助下载whl包

    Python拥有庞大的第三方库生态系统,这些库通常通过pip(Python的包管理器)进行安装。然而,在某些网络环境不佳或特定平台下,直接使用pip安装可能会遇到困难。这时,"Python-python库自助下载whl包"的主题就显得尤...

    python简易人事管理系统.rar

    《Python简易人事管理系统详解》 ...以上是对"python简易人事管理系统.rar"的详细解析,通过此系统,我们可以深入理解Python3在实际项目中的运用,以及如何与数据库进行有效交互,为日常的人事管理工作带来便利。

    Python pip-19.1.1 包管理工具

    例如,`setup.py`用于构建和发布Python项目,而`tox`则可以自动化测试多个Python版本下的包安装和运行。 总的来说,pip作为Python的包管理器,是开发过程中的得力助手。它简化了包的管理,使得开发者可以专注于编写...

    python安装打包依赖包-future-0.18.1.tar.gz

    在进行Python项目开发时,经常会遇到需要依赖外部库的情况。`future`库就是其中一个重要的依赖包,它为Python 2和Python 3之间的兼容性提供了解决方案。本文将详细介绍`future`库以及如何安装和打包这个依赖包。 `...

    python2.7依赖包.zip

    这些依赖包通常通过Python的包管理器pip来安装,但在某些情况下,例如在旧版本的操作系统或者没有网络连接的环境中,直接提供预打包的依赖包文件会更为方便。 在CentOS 7上安装Python 2.7的依赖包时,可能需要考虑...

    python打包,调试

    5. **PyPI(Python Package Index)**:发布Python包时,通常会将其上传到PyPI,这是一个官方的Python软件仓库。用户可以通过`pip install <package_name>`命令从PyPI下载并安装你的软件包。 6. **构建可执行文件**...

    Python之包管理工具快速入门1

    Python的包管理是其生态系统的重要组成部分,使得开发者能够轻松地分享和使用他人开发的软件库。本文主要关注Python包管理工具的快速入门,特别是`distutils`、`setuptools`、`distribute`、`easy_install`以及目前...

    python3基础名片管理系统

    在本项目"python3基础名片管理系统"中,我们将探索如何使用Python 3的基本语法和编程概念来构建一个简单的名片管理应用程序。这个系统旨在帮助用户存储、检索和更新联系人的名片信息,是学习Python编程和实践面向...

    python学生信息管理系统源码

    python学生信息管理系统源码 Python 学生管理源码 学生管理是使用python开发的。 该项目仅包含一个管理端,管理员可以从中轻松添加和查看学生记录。 在此项目中,用户必须从管理员端执行所有主要功能。 关于系统 ...

Global site tag (gtag.js) - Google Analytics