1

我对 python 相当陌生,并且来自 C# 背景。在 C# l 中,第三方库通常存储在项目文件夹中。

这意味着库完全在项目内部。然后,该项目不依赖于项目文件夹之外的任何内容(当然,.net 框架除外)。

我真的很喜欢这种结构,并尝试通过将库复制到项目根目录中的 lib 目录中,并在应用程序启动时将 lib 文件夹添加到 python 路径中,从而成功地在 python 中镜像它。

我担心这样做可能会导致我忽略了一些事情,因为我环顾四周,并没有真正看到 Python 社区中的其他人这样做。

我的问题很简单——这样可以吗?通过简单地转储必要的 .py 库而不是使用简单安装,从而在系统级别将库存储在站点包中,我可能会错过什么吗?

请随时让我知道您可以看到的任何缺点,无论多么简单。

谢谢!

4

2 回答 2

1

我将支持使用virtualenvpip用于开发目的。这将为您提供您习惯的沙箱。至于分发,请使用setup.py 并重用您将用于安装依赖项的requirements.txt文件以生成. 我一直想设置一个示例来稍微展示一下这一点 - 查看https://github.com/dave-shawley/setup-example以获得一个带有一些描述的好示例。我计划在时间允许的情况下添加更多内容。pip install -rinstall_requiressetuptools.setup

于 2013-04-24T02:41:18.050 回答
0

如果您想在每个项目的基础上密切管理代码的依赖关系,您可能需要查看virtualenv

Virtualenv 将允许您将依赖项保持在靠近源的位置,但会删除容易出错的.py文件手动复制。

最重要的是,有些包不是纯 python,它们有时包含编译C代码——如果你使用 virtualenv,你不必担心它。

于 2013-04-23T22:42:47.213 回答