python setup.py install后 ModuleNotFoundError 问题的一个可能点.
由于项目需要在另外两个项目中引用. 为统一源代码管理, 需要将一个源代码发布成全局的.
百度了之后, 添加了setup.py文件,
from setuptools import setup, find_packages
from codecs import open
from os import path
here = path.abspath(path.dirname(__file__))
setup(
name='MyPythonDeepLabV3Plus',
version='1.0',
description='DeepLabV3Plus的Python实现',
long_description = " DeepLabV3Plus的Python实现,实现了 测试,训练功能, 大部分代码来自网络和其它项目.我这里只是整理了一下 ", #str(open(path.join(here, "Learning tracker")).read()),
# The project's main homepage.
url='MyPythonDeepLabV3Plus',
# Author details
author='郑桂良',
author_email='273082449@qq.com',
# Choose your license
license='MIT',
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Topic :: System :: Logging',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
],
# py_modules=["MyPythonDeepLabV3Plus"],
install_requires=['torch']
)
# 将发布安装到你的Python本地副本中
# python setup.py install
#开发环境的安装使用下面的命令可以减少重复安装
# python setup.py develop
# 3.后面就可以使用了
# import MyPythonDeepLabV3Plus
然后执行了.
python setup.py install
结果在第三方的代码中却不能 import 提示 ModuleNotFoundError
搞了半天后发现意 py_modules 这个配置属性, 不能配置 与name 相同,
否则其它项目在import 时就会提示 ModuleNotFoundError
py_modules 具体干啥用的, 没深入研究, 这里就跳过了, 反正我的配置去掉了 py_modules 就可以正常的在其它项目中import了.
参考文档
https://blog.csdn.net/weixin_42401356/article/details/112959607
https://blog.csdn.net/YPP0229/article/details/106216631/