繁体   English   中英

创建了一个PyPi包,但安装后无法导入模块

[英]Created a PyPi package, but can't import modules after installing

我有一个结构如下的项目:

.
├── LICENSE
├── README.md
├── setup.py
└── src
    ├── __init__.py (with name="packagename")
    ├── module1
    │   ├── __init__.py (with import for each code file)
    │   └── (several code files)
    └── module2
        ├── __init__.py
        └── (similar structure to module1, total of 4 modules like this)

我已经创建了dist文件,并将它们上传到TestPyPI并安装到测试项目中。 我希望能够导入诸如import packagename.module1模块,但是它No module named packagename给我提供No module named packagename

我在setup.py中的setuptools.setup参数包含以下条目:

packages=["packagename"],
package_dir={"packagename": "src"},
py_modules=["packagename.module1", "packagename.module2" ... ]

知道为什么在安装软件包后我似乎无法导入吗?

我在项目中的src之外有各种示例测试脚本,我可以from src.module1 import ClassName访问模块(尽管如果可能的src.module1 ,在导入时用packagename.module1替换src.module1会很好)。

py_modules用于声明位于项目根目录的单文件模块。 需要通过在packages列出它们来声明包目录的子目录(例如module1module2

packages=["packagename", "packagename.module1", "packagename.module2" ...]

这是需要通过我正在使用的虚拟环境使用python命令进行安装的问题(与我在安装软件包时在终端中使用的虚拟环境相对),而不是包装问题!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM