我有一个简单的python包,其中包含以下目录结构:
wibble
|
|-----foo
| |----ping.py
|
|-----bar
| |----pong.py
简单问题:如何从ping.py
引用pong.py
中的函数/类?浏览文档,这似乎就像在__init__.py
,wibble
和foo
的根目录中创建bar
文件一样简单,然后从pong.py
执行某些操作比如from wibble.foo.ping import important_function
。但是,尝试此操作会导致No module named wibble.foo.ping
。
我确定我遗漏了文档中的某些内容,因为这一定是可行的。我对module
和namespace
之间的区别也有点模糊,我的背景是c#.net,所以这里的任何类比都是有用的。
答案 0 :(得分:2)
你需要将wibble添加到python路径(参见the official documentation),其中一种方法是
import sys
sys.path.append('/path/to/wibble')
另一种方法是使用环境变量PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/path/to/wibble