开发 python 程序包的最佳实践是什么?

2015-10-05 21:24:19 +08:00
 billgreen1
我之前就是在 home 下面加个 dev ,里面是 project1 , project2 之类的。
但是现在遇到了问题,有些项目是从 github 里面 fork 的,有些项目需要依赖特定版本的包。这会『污染』我系统的 site-packages 。然后有些项目的加载包得方式是 from .package1 import XX,我运行的时候说 can not import XXX

后来了解到有 virtualenv ,还有 distribute , setuptools ,但是每个项目设置一遍也比较麻烦。
所以想问下,你们平时开发包时,都怎么做的?

我心里想的理想方式是:
1.如果是自己开发一个新的包,运行一个命令,它能把文件夹结构、 virtualenv 设置好。
2.如果是从 github 下载的项目,它能够根据文件夹结构,自动设置 virtualenv 。
2668 次点击
所在节点    Python
5 条回复
cxbig
2015-10-05 22:31:33 +08:00
没有什么“最佳”,自己去实现一个功能,开源它,不断完善。
raptor
2015-10-05 22:48:59 +08:00
virtualenv 肯定要自己创建的,但是初始化的话可以用 pip -r requirements.txt ,当然前提是你自己把依赖写到 requirements.txt 里。
初始化一个包的话可以用 paster
adrianzhang
2015-10-05 22:50:08 +08:00
第一个需求, Django 这样的框架有功能,但是 Virtualenv 还需要自己设。
第二个需求,目前都是使用 Docker 了。
综合一下,第一个需求可以使用类框架功能+Docker 来实现。
hujianxin
2015-10-06 23:44:11 +08:00
可以试试 pyenv+pyenv-virtualenv
Feiox
2015-10-07 10:40:30 +08:00
你可以去看一本书《 Python 开发实战》~ 会很有帮助的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/225784

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX