setuptools находит файлы, но не функции? - PullRequest
0 голосов
/ 21 февраля 2020

Фон

Как новичок в 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

Еще раз спасибо заранее за вашу помощь!

...