Мой частный модуль и установленный модуль дает «ModulenotFoundError: нет модуля с именем" jbpy '"при импортеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Мой частный модуль и установленный модуль дает «ModulenotFoundError: нет модуля с именем" jbpy '"при импорте

Сообщение Anonymous »

Я внедряю свой собственный пакет модулей Python под названием JBPY. Я использую setuptools с файлом pyproject.toml в качестве системы сборки. Я также попытался установить модуль в качестве корня, чтобы сделать его глобально доступным. Это просто создает ту же ошибку, когда я пытаюсь им импортировать.python3 -m build
< /code>
И я использую эту команду для установки пакета: < /p>
python3 -m pip install dist/jbpy-0.0.2.9-py3-none-any.whl
< /code>
Когда я пытаюсь импортировать модуль, я получаю эту ошибку: < /p>
$ ./importtest.py
Traceback (most recent call last):
File "/home/jbang/development/projects/jbpy/test/./importtest.py", line 8, in
import jbpy.logging
ModuleNotFoundError: No module named 'jbpy'
< /code>
Скрипт importTest.py очень прост: < /p>
#!/usr/bin/python3
# -*- coding: UTF-8 -*-

# Test importing the module

import jbpy.logging

if __name__ == "__main__":
print("Modules imported")
< /code>
Я уверен, что модуль установлен, так почему Python не может его найти?$ python3 -m pip install dist/jbpy-0.0.2.9-py3-none-any.whl
Defaulting to user installation because normal site-packages is not writeable
Processing ./dist/jbpy-0.0.2.9-py3-none-any.whl
Installing collected packages: jbpy
Attempting uninstall: jbpy
Found existing installation: jbpy 0.0.2.8
Uninstalling jbpy-0.0.2.8:
Successfully uninstalled jbpy-0.0.2.8
Successfully installed jbpy-0.0.2.9

$ pip list | grep jbpy
jbpy 0.0.2.9

$ pip show jbpy
Name: jbpy
Version: 0.0.2.9
Summary: A package with utility functions to make my Python life easier.
Home-page:
Author:
Author-email: Jens Bang
License:
Location: /home/jbang/.local/lib/python3.12/site-packages
Requires:
Required-by:
< /code>
и конфигурация путей модуля в Python: < /p>
sys.executable='/usr/bin/python3'

sys.path = [
'/home/jbang/development/projects/jbpy/test',
'/usr/lib/python312.zip',
'/usr/lib/python3.12',
'/usr/lib/python3.12/lib-dynload',
'/home/jbang/.local/lib/python3.12/site-packages',
'/usr/local/lib/python3.12/dist-packages',
'/usr/lib/python3/dist-packages',
'/usr/lib/python3.12/dist-packages'
]

sysconfig.get_default_scheme()='posix_local'
sysconfig.get_preferred_scheme("prefix")='posix_local'
sysconfig.get_preferred_scheme("home")='posix_home'
sysconfig.get_preferred_scheme("user")='posix_user'

sysconfig.get_paths('posix_local') = {
'stdlib' : '/usr/lib/python3.12',
'platstdlib' : '/usr/lib/python3.12',
'purelib' : '/usr/local/lib/python3.12/dist-packages',
'platlib' : '/usr/local/lib/python3.12/dist-packages',
'include' : '/usr/include/python3.12',
'platinclude' : '/usr/include/python3.12',
'scripts' : '/usr/local/bin',
'data' : '/usr/local'
}
sysconfig.get_paths('posix_home') = {
'stdlib' : '/usr/lib/python',
'platstdlib' : '/usr/lib/python',
'purelib' : '/usr/lib/python',
'platlib' : '/usr/lib/python',
'include' : '/usr/include/python',
'platinclude' : '/usr/include/python',
'scripts' : '/usr/bin',
'data' : '/usr'
}
sysconfig.get_paths('posix_user') = {
'stdlib' : '/home/jbang/.local/lib/python3.12',
'platstdlib' : '/home/jbang/.local/lib/python3.12',
'purelib' : '/home/jbang/.local/lib/python3.12/site-packages',
'platlib' : '/home/jbang/.local/lib/python3.12/site-packages',
'include' : '/home/jbang/.local/include/python3.12',
'scripts' : '/home/jbang/.local/bin',
'data' : '/home/jbang/.local'
}

sysconfig.get_python_version()='3.12'
sysconfig.get_platform()='linux-x86_64'
os.name='posix'
sysconfig.get_path('stdlib') = '/usr/lib/python3.12'
sysconfig.get_path('platstdlib') = '/usr/lib/python3.12'
sysconfig.get_path('purelib') = '/usr/local/lib/python3.12/dist-packages'
sysconfig.get_path('platlib') = '/usr/local/lib/python3.12/dist-packages'
sysconfig.get_path('include') = '/usr/include/python3.12'
sysconfig.get_path('scripts') = '/usr/local/bin'
sysconfig.get_path('data') = '/usr/local'
< /code>
my pyproject.toml File выглядит так: < /p>
[build-system]
requires = ["setuptools >= 77.0.3"]
build-backend = "setuptools.build_meta"

[project]
name = "jbpy"
version = "0.0.2.9"
authors = [{name = "Jens Bang", email = "[email protected]"}]
description = "A package with utility functions to make my Python life easier."
readme = "README.md"
requires-python = ">=3.6"
license = "BSD-3-Clause"
classifiers = [
"Programming Language :: Python :: 3",
]

[tool.setuptools.packages.find]
where = ["src"] # list of folders that contain the packages (["."] by default)
include = ["argparse*", "logging*", "json*"] # package names should match these glob patterns (["*"] by default)
exclude = ["__*"] # exclude packages matching these glob patterns (empty by default)
namespaces = false # to disable scanning PEP 420 namespaces (true by default)
< /code>
Мои файлы расположены так: < /p>
.
├── changelog.md
├── dist/
├── generate_package.sh
├── install_package.sh
├── pyproject.toml
├── README.md
├── requirements.txt
├── src
│ ├── argparse.py
│ ├── general.py
│ ├── __init__.py
│ ├── jbpy.egg-info/
│ ├── json.py
│ └── logging.py
├── test/
└── venv/


Подробнее здесь: https://stackoverflow.com/questions/797 ... r-no-modul
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»