gpt4 book ai didi

pip 包的 Python 目录不起作用

转载 作者:行者123 更新时间:2023-12-01 07:58:45 25 4
gpt4 key购买 nike

我已经制作了一个 pip 包,但无法从文件“src”导入内容?我认为这可能与 init.py 有关,但我不确定为什么。

这是我的目录:

./
├── dist
│ └── robloxapi-0.9.tar.gz
├── LICENSE.txt
├── MANIFEST
├── README.md
├── robloxapi
│ ├── client.py
│ ├── __init__.py
│ ├── __main__.py
│ └── src
│ ├── __pycache__
│ │ ├── Auth.cpython-37.pyc
│ │ ├── __init__.cpython-37.pyc
│ │ ├── request.cpython-37.pyc
│ │ ├── User.cpython-37.pyc
│ │ └── xcsrf.cpython-37.pyc
│ ├── request.py
│ ├── User.py
│ └── xcsrf.py
├── setup.cfg
└── setup.py

这是我在主文件(client.py)中导入的内容

import requests
from .src.User import User

当我尝试导入 .src.User 时,它返回一个错误。

女巫是:

Traceback (most recent call last):
File "index.py", line 1, in <module>
import robloxapi
File "/home/ira/.local/lib/python3.7/site-packages/robloxapi/__init__.py", line 3, in <module>
from .client import client
File "/home/ira/.local/lib/python3.7/site-packages/robloxapi/client.py", line 2, in <module>
from .src.User import User
ModuleNotFoundError: No module named 'robloxapi.src'

为什么我无法导入它?

谢谢,艾拉。

编辑:Setup.py:https://hastebin.com/tonalezeva.coffeescriptsetup.cfg:https://hastebin.com/ovehukociz.ini

最佳答案

引发的错误 ModuleNotFoundError 表明 python 正在尝试将 robloxapi.src 作为模块导入。

根据你的项目结构,该目录应该是一个python包,但事实并非如此,因为它缺少一个__init__.py文件。

robloxapi/src/__init__.py 创建一个文件(也可以留空)应该可以解决此问题。

引用official python docs about modules and packages

The __init__.py files are required to make Python treat directories containing the file as packages. This prevents directories with a common name, such as string, unintentionally hiding valid modules that occur later on the module search path. In the simplest case, __init__.py can just be an empty file, but it can also execute initialization code for the package or set the __all__ variable, described later.

编辑

在查看您的 setup.py 文件后,我认为问题在于您没有在传递给 setup 函数的 packages 列表中指定项目中的子包。

我还注意到您正在使用 distutils,我强烈建议您安装并使用 setuptools 软件包,这是内置 distutils 软件包的一个非常流行的扩展。

setuptools 的一大功能是 find_packages 功能,它可以减轻管理手动分发包的负担

这是对 setuptools 文档的引用:

https://setuptools.readthedocs.io/en/latest/setuptools.html#id10

关于pip 包的 Python 目录不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55816691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com