Я довольно долго искал net, но, похоже, не могу понять, как я могу распространять свои python сценарии для моего конечного пользователя.
Я использовал свои сценарии в командной строке, используя эту команду python samplemodule.py "args1"
И это также способ, которым я хочу, чтобы мой пользователь также использовал его на своей стороне в своей командной строке , Но меня беспокоит то, что эти определенные модули имеют зависимости от других библиотек или модулей.
Мои сценарии работают, когда все они находятся в каталоге root проекта, но все рушится, когда я пытаюсь их упаковать и поместить в подкаталоги.
Примером этого является то, что я не могу сейчас запустить свои сценарии, поскольку при импорте модуля из подкаталога data
произошла ошибка.
Это структура моего проекта.
MyProject
\formatter
__init__.py
__main__.py
formatter.py
addfilename.py
addscrapertype.py
...\data
__init__.py
helper.py
csv_formatter.py
setup.py
Файл csv_formatter.py - это просто оболочка для вызова formatter.main.
Обновление: теперь я смог сгенерировать пакет tar.gz, но пакет не был вызывается при установке на мою машину.
Это setup.py:
import setuptools
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name="formatter",
version="1.0.1",
author="My Name",
author_email="sample@email.com",
description="A package for cleaning and reformatting csv data",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/RhaEL012/Python-Scripts",
packages=["formatter"],
include_package_data=True,
package_data={
# If any package contains *.txt or *.rst files, include them:
"": ["*.csv", "*.rst", "*.txt"],
},
entry_points={
"console_scripts": [
"formatter=formatter.formatter:main"
]
},
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
python_requires='>=3.6',
install_requires=[
"pandas"
]
)
Теперь, после установки пакета на компьютер, я не смог вызвать модуль, и это приводит к ошибке:
Z:\>addfilename "C:\Users\Username\Desktop\Python Scripts\"
Обновление: я пытаюсь установить setup.py в виртуальной среде, просто чтобы увидеть, откуда исходит ошибка.
Я устанавливаю его, затем получаю следующую ошибку: FileNotFoundError: [Errno 2] no such file or directory: 'README.md'
Я пытаюсь включить README.md
в MANIFEST.in
, но все равно не повезло. Поэтому я пытаюсь сделать это строкой, чтобы посмотреть, будет ли установка продолжена.
Установка продолжается, но опять же, я сталкиваюсь с ошибкой, которая говорит, что package directory 'formatter' does not exist