目录结构:
|--myPublish
|--funcA
|--funcA.py
|--funcB
|--funcB.py
|--setup.py
|--useMyPublish要发布的代码:
MyTool.py
from funcA.funcA import test1
from funcB.funcB import test2
class Tool :
def test1(self):
test1()
test2()
print('test1')
def main():
tool = Tool()
tool.test1()
def inter():
tool = Tool()
tool.test1()
if name == '__main__':
main()
funA.py、funcB.py(在)
def test1():
print('A - test1')
def test2():
print('A - test2')
setup.py
import sys
sys.path.append("../../../")
from distutils.core import setup
setup(name='myPublish', version='1.0', description='发布模块', author='kukii',
py_modules=['myPublish.MyTool','myPublish.MyUtil','myPublish.funcA.funcA'
, 'myPublish.funcB.funcB'])
执行命令,安装后。site-packages目录下有myPublish文件夹,里面有MyTool.py, funcA.py, funcB.py
-
在useMyPublish下的test.py代码如下:
import syssys.path.append('E:/Eclipse/jee-neon workspace/pydemo/demo21/dist/myPublish-1.0/myPublish')
sys.path.append('E:/python/Python36/Lib/site-packages/myPublish')
print(sys.path)
import myPublish.MyTool as tool
tool.inter() 问题:
为什么一定要指定路径sys.path.append('E:/python/Python36/Lib/site-packages/myPublish')或者sys.path.append('E:/Eclipse/jee-neon workspace/pydemo/demo21/dist/myPublish-1.0/myPublish'), 否则会报错:ModuleNotFoundError: No module named 'funcA'