我是python的新手,来自C#背景。在C#1中,第三方库通常存储在项目文件夹中。
这意味着库完全是项目的内部。然后,项目不依赖于项目文件夹之外的任何内容(当然不是.net框架)。
我非常喜欢这个结构,并尝试通过将库复制到项目根目录中的lib目录,并在启动应用程序时将lib文件夹添加到python路径,成功地在python中镜像它。
我担心这样做可能会让我有所忽视,因为我已经环顾四周,并没有真正看到其他人在这个python社区中这样做。
我的问题很简单 - 这可以吗?通过简单地转储必要的.py库,而不是使用简单的安装,从而将库存储在系统级的站点包中,是否有一些我可能错过的东西?
请随时告诉我您可以看到的任何缺点,无论多么简单。
谢谢!
答案 0 :(得分:1)
我支持使用virtualenv
和pip
进行开发。这将为您提供您习惯的沙箱。至于分发,请使用 setup.py 并重用 requirements.txt 文件,该文件将与pip install -r
一起用于安装依赖项以生成install_requires
setuptools.setup
的论点。我已经意识到要设置一个显示这一点的示例 - 请查看https://github.com/dave-shawley/setup-example以获得一些带有描述的好例子。我计划在时间允许的情况下再增加一点。
答案 1 :(得分:0)
如果您希望在每个项目的基础上密切管理代码的依赖关系,您可能需要查看virtualenv。
Virtualenv将允许您将您的依赖关系保持在您的源附近,但将删除容易出错的手动复制.py
文件。
除此之外,有些软件包不是纯python而且它们有时包含编译的C
代码 - 如果你使用virtualenv,你不必担心它。