从文件夹导入模块

时间:2012-12-04 13:49:33

标签: python

我正在尝试在我的应用中添加一些库,以使其更具可移植性。 问题是应用程序是在没有考虑到这一点的情况下构建的。

所以更具体一点,我希望在我的包中有一个名为libs的文件夹,并保存我的应用程序中使用的库的副本。

例如,假设我使用MySQLdb库。在我的应用程序中,我像这样导入它

import mysqldb

我希望能够使用相同的代码,但在libs文件夹中有mysqldb。

这可能吗?我用__init__.py试了一些东西,但我失败了。

2 个答案:

答案 0 :(得分:2)

您不应该将MySQLdb放在项目中的任何位置。它是第三方库,它应该作为系统包安装,或者安装在项目的virtualenv中。

答案 1 :(得分:1)

你可以使用sys.path来实现你想要的。只需在程序开始时执行:

import sys
sys.path = [$'path_to_your_lib_folder_here'$] + sys.path

然而,这不是最佳做法,您需要特别注意,如果您的软件将被其他图书馆用作第三方。