У меня проблемы с исключением файлов в файле setup.py. Сначала я показываю структуру проекта.
myscript
├── myscript
│ ├── tests.py
│ └── myscript.py
├── README.md
├── LICENSE
└── setup.py
Содержимое файла setup.py выглядит следующим образом:
# -*- coding: utf-8 -*-
from setuptools import setup, find_packages
with open('README.md') as f:
long_description = f.read()
setup(name = 'myscript',
version = "1.0",
description = 'Example desc',
long_description = long_description,
long_description_content_type = 'text/markdown; charset=UTF-8',
license = 'MIT',
author = 'Jalkhov',
author_email = 'jalkhov@gmail.com',
packages = find_packages('myscript', exclude=['tests.py']),
entry_points={
'console_scripts': [
'myscript=myscript.myscript:main',
],
},
)
Когда я запускаю python setup.py sdist
с таким файлом, и установите файл .tar.gz , который он сгенерировал для меня, он устанавливается правильно, но когда я пытаюсь запустить скрипт из консоли, он выдает мне следующую ошибку:
File "C:\Users\myuser\AppData\Local\Programs\Python\Python37-32\Scripts\myscript.exe.main__.py", line 4, in <module>ModuleNotFoundError: No module named 'myscript'
Затем я проверяю папку site-packages
, и единственное, что касается сценария, который я нахожу, это папка myscript-1.0.dist-info
Но когда я изменяю строку пакета и оставляю ее так:
packages = ["myscript"],
И я устанавливаю, все работает нормально, но файл, который я хочу исключить, был включен в папку site-packages
.
Кажется, что при использовании функции find_packages
меня не волнует Основная папка скрипта.