Фон
Как новичок в setuptools, я пытаюсь выполнить шаги, описанные в этом видео . (Соответствующие метки времени 2:31 и 3:09). Моя цель - заставить этот пример работать, но с использованием conda, а не venv. То есть я хочу упаковать простой пакет, установить его локально с помощью pip и использовать модули, доступные в этом пакете. Пакет успешно найден и импортируется, но его содержимое (модули и их функции) - нет.
Мне не удалось найти аналогичный вопрос в Интернете. Любая помощь будет принята с благодарностью!
Ниже приведены подробности.
Структура каталогов
PackageTests
|
|-- README.md
|
|-- prettypackage
| |-- __init__.py
| |
| |-- prettypackage.py
|
|_ setup.py
Содержимое файла
__init__.py
... пусто.
prettypackage.py
class PrettyClass():
def speak(self):
return "i am so pretty uwu"
setup.py
import setuptools
setuptools.setup(
name='prettypackage',
version='0.0.1',
description='Just a beautiful test package, heh',
packages= ['prettypackage']
)
Что я пробовал
В Anaconda Prompt
Сначала я cd
отправил PackageTests. Затем:
conda create -n package_test
conda activate package_test
conda install -n package_test "python<3.7"
pip install -e .
python
В Python (в окне Anaconda)
import prettypackage
prettypackage.PrettyClass().speak()
Результат:
Первая строка работает нормально, вторая строка дает:
AttributeError: module 'prettypackage' has no attribute 'PrettyClass'
dir(prettypackage)
также перечисляет только переменные dunder (__name__
, __doc__
et c.).
Структура каталогов после установки пакета
PackageTests
|
|-- README.md
|
|-- prettypackage
| |-- __init__.py
| |
| |-- prettypackage.py
|
|-- prettypackage.egg-info
| |
| |-- dependency_links.txt
| |
| |-- PKG-INFO
| |
| |-- SOURCES.txt
| |
| |-- top_level.txt
|
|_ setup.py
(новый) Содержимое файла
dependency_links.txt
... пусто.
PKG-INFO
Metadata-Version: 1.0
Name: prettypackage
Version: 0.0.1
Summary: Just a beautiful test package, heh
Home-page: UNKNOWN
Author: UNKNOWN
Author-email: UNKNOWN
License: UNKNOWN
Description: UNKNOWN
Platform: UNKNOWN
SOURCES.txt
README.md
setup.py
prettypackage/__init__.py
prettypackage/prettypackage.py
prettypackage.egg-info/PKG-INFO
prettypackage.egg-info/SOURCES.txt
prettypackage.egg-info/dependency_links.txt
prettypackage.egg-info/top_level.txt
top_level.txt
prettypackage
Еще раз спасибо заранее за вашу помощь!