我已经在网上搜索了很长一段时间,但我似乎无法理解如何为我的最终用户分发我的python脚本。
我一直在使用此命令在命令行上使用脚本python samplemodule.py "args1"
这也是我希望我的用户也通过命令行使用它的方式。但我担心的是,这些模块依赖于其他库或模块。
当我的脚本都位于项目的根目录中时,它们正在工作,但是当我尝试将它们打包并将它们放在子目录中时,一切都会崩溃。
这方面的一个例子是,我现在无法运行我的脚本,因为当我从子目录导入模块时,脚本出错。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文件只是一个用于调用格式化程序.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
慕容3067478
慕田峪7331174
犯罪嫌疑人X
相关分类