问题:如何将示例程序包正确添加到sys路径?
您的做法是正确的,但是您错过了将文件夹声明为软件包的机会。尝试解决基督徒的问题,它应该起作用。
您的路径存储在中
sys.path。通过做这个:
sys.path.insert(0, os.path.abspath('..'))
您正在告诉python将(当前文件的)上层文件夹添加到路径中。由于
sys.path是一个列表,你可以使用像列表的其他方法
insert,
append…
就您而言,您要在路径列表的顶部插入上级目录。
看到:
In [1]: import sysIn [2]: sys.pathOut[2]: ['', '/usr/local/bin', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages', '/usr/local/lib/python3.4/dist-packages/IPython/extensions', '/home/cuong/.ipython']In [3]: sys.path.insert(0, '/tmp/foo')In [4]: sys.pathOut[4]: ['/tmp/foo', **<-- on top** '', '/usr/local/bin', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages', '/usr/local/lib/python3.4/dist-packages/IPython/extensions', '/home/cuong/.ipython']
所以,从这里开始,当你有
import sample
您的python将尝试查找路径以查看是否有任何
sample软件包。
不幸的是,
sample由于您没有将其打包,所以找不到它,因为您忘记
__init__.py了
sample文件夹。
希望我的解释可以帮助您理解,并且可以处理与此不同的其他情况。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)