如何在特定目录中安装python包

时间:2013-08-21 13:46:49

标签: python google-app-engine twitter package twython

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

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

由于

4 个答案:

答案 0 :(得分:3)

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

您必须在首次导入模块之前调用sys.path.insert示例:如果您在external_modules/中放置了“module.pyd”,并希望将其与import module包含在一起,那么请先放置sys.path.insert

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

Install a Python package into a different directory using pip?

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

答案 3 :(得分:0)

你可以使用gaenv(我为app引擎构建的包管理器)。它只创建符号链接并遵循pip requirements.txt格式。你可以安装&使用如:

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

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