1

我正在 google appengine 上开发一个 twitter 应用程序——为此我想使用 Twython 库。我尝试使用 pip 安装它 - 但它要么将其安装在主 python 目录中,要么不导入所有依赖项。

我可以简单地将 Twython 的所有文件复制到 appengine 根目录,并手动导入所有依赖库,但这似乎非常错误。如何在包含所有依赖项的特定文件夹中安装包?

谢谢

4

4 回答 4

3

如果您将模块文件放在一个目录中,例如external_modules/,然后使用sys.path.insert(0, 'external_modules'),您可以包含该模块,因为它是一个内部模块。

您必须sys.path.insert在第一次导入模块之前调用。 示例:如果您将“module.pyd”放入external_modules/并希望将其包含在 中import module,则将其放在sys.path.insert前面。

sys.path.insert()是一个应用程序范围的调用,因此您只需调用一次。最好将它放在主文件中,在任何其他导入之前(import sys当然除外)。

于 2013-08-21T16:12:18.790 回答
0

使用虚拟环境和虚拟环境包装器,您不必使用包装器,但为了简单起见使用它..

https://pypi.python.org/pypi/virtualenv

于 2013-08-21T13:50:39.653 回答
0

如果您使用 pip 安装软件包,请尝试以下操作:

使用 pip 将 Python 包安装到不同的目录中?

我个人需要我刚刚在 git repos 中使用的库。我只是符号链接了这些库而不是安装它们。但在这种情况下,我也必须手动对所有依赖项进行符号链接。

于 2013-08-21T14:28:08.243 回答
0

您可以使用 gaenv(我为应用引擎构建的包管理器)。它只创建符号链接并遵循 pip requirements.txt 格式。您可以像这样安装和使用:

pip install gaenv
# create requirements.txt -> twython
pip install -r requirements.txt
gaenv

这将创建到所有必需库的 gaenv_lib/ 的符号链接。然后会要求添加导入语句。

于 2013-08-21T14:31:18.077 回答