2012-12-04 207 views
0

我试图在我的应用程序中添加一些库,使其更加便携。 问题是,应用程序的构建没有考虑到这一点。从文件夹导入模块

所以更具体一点,我想在我的软件包中有一个名为libs的文件夹,并在我的应用程序中保留一个用于该应用程序的库的副本。

例如让我说我使用MySQLdb库。在我的应用程序,我将其导入这样

import mysqldb 

我希望能够使用库文件夹中的相同的代码,但是有MySQLdb的。

这可能吗?我尝试了__init__.py,但是我失败了。

回答

1

你可以玩sys.path,并达到你想要的。只要做你的程序的开头:

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

这不但是最佳做法,你需要小心,特别是如果你的软件将被用作其他图书馆第三方。

2

你不应该把MySQLdb放到你的项目的任何地方。这是第三方库,它应该作为系统软件包安装或者安装在您的项目虚拟环境中。

+0

是的,但是如果我不得不在服务器上部署应用程序,那么我没有安装东西的权限呢? – kechapito

+1

这就是virtualenv的用途。 –

+0

谢谢,我不知道。 – kechapito