请教pythoner们一个关于第三方包setup.py的问题。

2013-12-31 00:18:20 +08:00
 burgleaf
我是一名javaer,对于python一直处于半吊子的入门状态。

我一直不能理解的是为什么在github看到的所有python源码都会有setup.py这个文件呢?要用这些代码的时候你们是不是都会把它们install 到python home目录的libs里面。要是往服务器部署的时候是不是也要重新在服务器的python目录里面install一遍,这样岂不是很麻烦?做个比较,java的项目是最终把所有的第三方jar包和自己的源码打包成一个war包部署就行,不用再在jdk上面再安装什么东西。
3060 次点击
所在节点    Python
8 条回复
wolegequ
2013-12-31 05:25:21 +08:00
install 之后,别的项目也可以用 jar的话需要每个项目都导入
laomo
2013-12-31 07:51:05 +08:00
也可以选择不安装的,源码直接放项目同目录下,注意层级关系,和import对应就行
booksmith
2013-12-31 08:24:29 +08:00
这就跟java里的maven一样,写个pom.xml,如果你的jar包要共享使用的话
arbipher
2013-12-31 08:47:59 +08:00
可以理解成java的包是依赖于项目的,而Python的包是依赖于环境的。所以会有virtualenv这种东西,保证每个项目跑在独立的环境中。
wuxqing
2013-12-31 09:17:45 +08:00
可以看看buildout
arbipher
2013-12-31 09:20:33 +08:00
@wuxqing 想起来在PyCon上听到的“git buildout docker”一条龙。
P.S. 以上通通不会。
aurorawu
2013-12-31 10:12:16 +08:00
code like a pythonista, not a pythoner.
sandtears
2013-12-31 14:01:46 +08:00
setup.py主要是为了解决对第三方库的依赖问题,而用virtualenv也可以不让项目安装进真正的python home的libs

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

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

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

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

© 2021 V2EX