将单个包文件夹附加到sys.path

时间:2014-12-14 15:18:42

标签: python

我在virtualenv下使用了一个脚本,它需要bzrlib包,这在我的virtualenv中不可用但包含在我的系统python包中:/usr/lib/python2.7/dist-packages/bzrlib/

如果我想使用它,一个选项是扩展sys.path,但我必须包含父文件夹/usr/lib/python2.7/dist-packages/,其中包含许多其他软件包,我不想让它们可用。有没有简单的方法来包含bzrlib包裹?

1 个答案:

答案 0 :(得分:1)

如何在不同的目录中创建链接并使用它进行导入?甚至在你自己的项目中。

ln -s /package/dir/path /project/dir/path

如果你必须远程加载,这里是@unutbu提供的链接,显示如何操作:

How to import a module given the full path?

import imp

foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()