最近学习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是Python生态系统中的核心组件之一,它使得开发者能够轻松地安装、升级、卸载和管理Python库。pip-6.0.7是这个工具的一个特定版本,发布于2015年,提供了对Python依赖的便捷处理功能。 首先,...
2. **源代码管理**:Python项目中的源代码一般放在`src`或者`app`目录下,遵循一定的命名规范和组织结构,例如,将不同功能的模块按照包(package)的形式组织。 3. **依赖管理**:`requirements.txt`文件用于记录...
在Python开发中,将项目打包成可...通过这个简单的例子,你不仅学会了如何将Python项目打包成wheel,也对Python的包管理和分发有了更深入的理解。在实际开发中,熟练掌握这些技能将极大地提升代码的可复用性和分享性。
总的来说,`Curdling`作为一个Python的包管理工具,提供了一种更高效、更灵活的方式来处理Python项目的依赖和包管理。对于那些需要精细控制包安装和管理的开发者,`Curdling`是一个值得尝试的工具。通过熟练掌握`...
这个压缩包中的"Python项目开发实战 (源代码)"提供了丰富的实例,让你能够深入学习Python的实际应用。以下是基于这些资源可能涵盖的一些核心知识点: 1. **基础语法**:Python的基础语法包括变量、数据类型(如...
总结来说,这个Python打包服务器项目提供了一个自动化流程,用于监测Git仓库的更新并生成一键启动的发布包,旨在为Python开发者带来更便捷的部署体验,特别是对于希望简化Python项目部署的公司而言。其核心功能包括...
基于python3编写的web后台管理系统,基于layui采用Django框架实现完整的后台管理系统,包含菜单权限、机构权限、数据权限等,功能齐全。 基于python3编写的web后台管理系统,基于layui采用Django框架实现完整的...
基于Python的表情包管理系统源码+使用说明+大量表情包gif.zip基于Python的表情包管理系统源码+使用说明+大量表情包gif.zip基于Python的表情包管理系统源码+使用说明+大量表情包gif.zip基于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 项目时,使用本地包管理工具可以确保你的环境与生产环境保持一致,减少因依赖问题引起的调试时间。此外,对于企业内部的私有库,使用这种方式可以方便地分发和更新。 6. **版本管理和依赖...
这个压缩包文件“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拥有庞大的第三方库生态系统,这些库通常通过pip(Python的包管理器)进行安装。然而,在某些网络环境不佳或特定平台下,直接使用pip安装可能会遇到困难。这时,"Python-python库自助下载whl包"的主题就显得尤...
《Python简易人事管理系统详解》 ...以上是对"python简易人事管理系统.rar"的详细解析,通过此系统,我们可以深入理解Python3在实际项目中的运用,以及如何与数据库进行有效交互,为日常的人事管理工作带来便利。
例如,`setup.py`用于构建和发布Python项目,而`tox`则可以自动化测试多个Python版本下的包安装和运行。 总的来说,pip作为Python的包管理器,是开发过程中的得力助手。它简化了包的管理,使得开发者可以专注于编写...
在进行Python项目开发时,经常会遇到需要依赖外部库的情况。`future`库就是其中一个重要的依赖包,它为Python 2和Python 3之间的兼容性提供了解决方案。本文将详细介绍`future`库以及如何安装和打包这个依赖包。 `...
这些依赖包通常通过Python的包管理器pip来安装,但在某些情况下,例如在旧版本的操作系统或者没有网络连接的环境中,直接提供预打包的依赖包文件会更为方便。 在CentOS 7上安装Python 2.7的依赖包时,可能需要考虑...
5. **PyPI(Python Package Index)**:发布Python包时,通常会将其上传到PyPI,这是一个官方的Python软件仓库。用户可以通过`pip install <package_name>`命令从PyPI下载并安装你的软件包。 6. **构建可执行文件**...
Python的包管理是其生态系统的重要组成部分,使得开发者能够轻松地分享和使用他人开发的软件库。本文主要关注Python包管理工具的快速入门,特别是`distutils`、`setuptools`、`distribute`、`easy_install`以及目前...
在本项目"python3基础名片管理系统"中,我们将探索如何使用Python 3的基本语法和编程概念来构建一个简单的名片管理应用程序。这个系统旨在帮助用户存储、检索和更新联系人的名片信息,是学习Python编程和实践面向...
python学生信息管理系统源码 Python 学生管理源码 学生管理是使用python开发的。 该项目仅包含一个管理端,管理员可以从中轻松添加和查看学生记录。 在此项目中,用户必须从管理员端执行所有主要功能。 关于系统 ...