我对Python很陌生,我想创建我的第一个Python库供人工使用。
我正在使用Python 2.7.5,并运行IDLE接口。
到目前为止,我从文档和相关问题中理解的是:
__init__.py
文件,该文件可以为空modulename.py
文件,其中的代码位于包目录(资料来源:http://www.johnny-lin.com/cdat_tips/tips_pylang/path.html --- https://docs.python.org/2/tutorial/modules.html)
这就是我尝试失败的原因:
C:\....\pythonlibs
C:\....\pythonlibs\package
__init__.py
文件
mymodule.py
目录packacge
文件
然后在IDLE中使用了这段代码:
import sys
sys.path.append(r'C:\....\pythonlibs')
第一期:
目前我必须这样做,每次追加我进入IDLE。我如何永久保存sys.path中的目录,就像那里有很多其他目录一样?
然后我尝试导入我的包:
import pythonlibs #fails!! why?
import pythonlibs.package #fails!! why?
import package #works
错误是:ImportError: No module named pythonlibs
第二个问题?
这似乎违反了文档,为什么我无法从根
pythonlibs
文件夹导入?
答案 0 :(得分:2)
有线
sys.path.append(r'C:\....\pythonlibs')
您正在指示解释器开始在此目录中查找模块(库)。由于此目录不包含pythonlibs
文件夹(父文件夹),因此无法导入该文件夹。
同样 - 因为它包含模块package
,它可以导入它。