setup.cfg中的find出现问题|在路径中找不到模块



我一直在尝试正确地打包我的python代码,将其上传到git上,并安装在虚拟环境中,所有这些我都做了,而且似乎都很好。问题是,一旦我在虚拟环境中pip安装了我的代码,当我以的形式运行我的包时

python3 -m mypackage

它引发了一个错误,表明我在__main__.py中导入的模块(我的包有一个包含所有内容的目录:__init__.py__main__.pymodule1.py等(都看不到。然而,一旦我";cd";进入软件包在虚拟环境中的安装位置,它可以看到所有模块,一切正常。我的猜测是我的CCD_ 5文件有问题;查找";命令没有做他们应该做的

也请告诉我,如果其他的东西可以写得更优雅。

[metadata]
# replace with your username:
name = my_package
version = 0.0.1
author = my_name
author_email = name@email.com
description = 
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/myname/mypackage
project_urls =
Bug Tracker = https://github.com/myname/mypackage/issues
classifiers =
Programming Language :: Python :: 3
License :: OSI Approved :: MIT License
Operating System :: OS Independent
[options]
package_dir =
= src
packages = find:
python_requires = >=3.6
install_requires =
numpy > 1.0 
opencv-python >= 4.0
[options.packages.find]
where = src

我也遇到了类似的问题,它困扰了我好几天。最后我明白了问题出在文件夹结构上。如果你在setup.cfg中使用find:函数,它会在/src下查找包,但如果你只有模块(就像我一样(,它什么也找不到。

你应该把你的模块放在一个文件夹里,里面有一个__init__文件,如下所示:

src
|
|-----package:
|
|------ __init__.py
|------ module1.py
|------ module2.py
|------ ...

请注意,例如,当您尝试import module1时,您需要使用导入

from package import module1

相关内容

  • 没有找到相关文章

最新更新