Неправильная папка после установки руля с питоном

У меня есть проект Python, который я хочу распространять. Я прочитал несколько учебных пособий о том, как написать свой файл setup.py и как установить созданный диск: пример проекта, учебник setup.py, документацию по колесу, установку колеса или установку колеса.

Структура моего проекта:

project_name
    |_ lib
        |_ project_folder
        |_ py modules
    |_ test
    |_ setup.py
    |_README.rst

Я строю свое колесо так python setup.py bdist_wheel а затем я беру созданное колесо в другую папку за пределами моего проекта и делаю pip install my_wheel, Я пробовал также pip install --no-index --find-links=my_wheel project_name

Проблема в том, что когда я смотрю в свой питон site-packages папка, вместо того, чтобы иметь:

python folders
project_name
project_name-2.0.0.dist-info

project_name папка разбивается на lib и тестируется:

python folders
lib
project_name-2.0.0.dist-info
test

Я не понимаю, почему мой project_name не похож на другие папки Python, сгруппированные. Может ли кто-нибудь помочь мне лучше понять?

setup.py:

from setuptools import setup, find_packages
from codecs import open
from os import path

root_folder = path.abspath(path.dirname(__file__))

with open(path.join(root_folder, "README.rst"), encoding="utf-8") as f:
    long_description = f.read()

setup(
    name = "project",
    version = "2.0.0",

    description = "My project is cool",
    long_description = long_description,     

    packages = find_packages(),

    include_package_data = True
)

1 ответ

find_packages() определяет пакеты по __init__.py файлы. Похоже, ваш lib а также tests каталоги имеют __init__.py файлы в них.

Ни ваш lib или же tests каталоги являются пакетами, удалите __init__.py файлы из тех. Сюда find_packages() будет включать только project_folder() в результирующем распределении (источник, двоичный файл или колесо).

Другие вопросы по тегам