首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python包和模块版本管理

Python包和模块版本管理
EN

Stack Overflow用户
提问于 2013-04-21 03:10:17
回答 1查看 3.3K关注 0票数 4

我计划使用多个包(内部和外部)开发一个中等规模的web应用程序(需要大量的后端工作),因为这是我第一次体验这种规模,我可以从以下几个方面获得一些建议:

  1. 如何确保满足所有依赖项(不缺少必需的包/模块,从正确的位置导入包等)。
  2. 如何管理包/模块的版本。我希望能够在其他连接的包/模块中引入代码更改最小的包/模块的新版本。

请告诉我,如果有一个工具,可以在这方面有所帮助。如果在管理这种规模的代码时还有其他的挑战(我可能甚至没有意识到),那么请提醒我,并提供解决方法。

我目前所知道的(并认为它可能有助于代码管理):

  • __all__定义可导出模块。
  • 使用前面的单个下划线防止模块导入
  • __init__.py在包级别管理导入(因此,当我执行import package_name时,__init__.py可以集中控制其他导入)
  • PEP 328用于管理相关的导入、导入库和其他类似的导入内容。
  • 我想,一些第三方包也定义了__version__VERSION变量,以便在运行时检查版本,但我不确定是否可以依赖它。

如果有书籍,博客等可以帮助,那么请告诉我。

编辑:我不确定这类问题是否适用于此。如果没有,我道歉。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-21 03:40:19

如何确保满足所有依赖项(不缺少必需的包/模块,从正确的位置导入包等)。

使用维塔列夫冰冻将带有pip的包放到要求文件中:

代码语言:javascript
复制
$ pip freeze > requirements.txt
$ cat requirements.txt
argparse==1.2.1
distribute==0.6.31
wsgiref==0.1.2

基本上,只要您有一些需要安装模块的代码,就使用virtualenv、distribute和pip。

按照requirements.txt中指定的版本安装软件包

代码语言:javascript
复制
pip install -r requirements.txt
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16127553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档