从任何地方导入python项目的代码

时间:2015-01-29 19:18:30

标签: python

我有一个存在于特定位置的项目:

~/repos/my_proj

让我们说它有如下结构:

my_proj/
   stuff1
   stuff2

如果我是那个目录,我可以包含python代码,就像人们想的那样

from stuff1 import func1
from stuff2 import func2

有没有办法“找到”该目录并将其用作变量,因此我可以将该代码包含在任何地方

让我说我在~/Docs/TestArea

我希望能够做到

from my_proj_dir.stuff import func1

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题。更好的方法是将PYTHONPATH environment variable设置为包含文件夹~/repos/my_proj

您也可以在Python中操作sys.path list,其中包含Python将要查找模块的所有搜索路径 - 在任何导入之前,您可以编写

import sys
sys.path.append('~/repos/my_proj')

这比设置PYTHONPATH有点丑陋,因为当您将代码移动到另一台计算机时,您需要复制相同的文件夹结构。但是,它允许代码在程序启动后决定要搜索的路径,这有时很有用。