[英]Python build can't detect pyproject.toml file
當我在我有 pyproject.toml 文件的目錄中運行python -m build
時,我不斷收到以下錯誤: package_name does not appear to be a Python project: no pyproject.toml or setup.py
這就是我的目錄的樣子
package_root --> Base
setup.cfg
MANIFEST.in
pyproject.toml
src/ --> Actual Module
some_code_file.py
some_code_file2.py
__init__.py
我打開一個終端並 cd 進入 package root 並運行python -m build
。 該過程開始構建,但過了一會兒我收到錯誤package_name does not appear to be a Python project: no pyproject.toml or setup.py
我的 pyproject.toml 文件如下所示:
[build-system]
requires = [
"setuptools>=54",
"wheel"
]
build-backend = "setuptools.build_meta"
我的 setup.cfg 文件如下所示:
[metadata]
name = package_name
version = 1.0
author = John Doe
author_email = johndoe@example.com
description = Test package
long_description = file: README.md
long_description_content_type = text/markdown
url = example.com
classifiers =
Programming Language :: Python :: 3
License :: OSI Approved :: MIT License
Operating System :: OS Independent
[options]
packages = find:
python_requires = >=3.7
include_package_data = True
我的 MANIFEST.in 文件如下所示:
exclude *.csv
我已經使用上述格式創建了各種包——只使用 setup.cfg 和 pyproject.toml 而沒有使用 setup.py——這是我第一次遇到這樣的錯誤。 不確定這是否與它相關,但這次我試圖從我一直在處理的這個 github 回購中制作一個 package。 由於某些原因,我不能真正分享回購協議。
任何人都知道問題可能是什么?
你錯過了:
[options]
..
package_dir =
= src
有關更多詳細信息,請參閱此答案: https://stackoverflow.com/a/69246484/12368419 。
我基本上可以用這種結構構建一個 package:
package_root --> Base
pyproject.toml
requirements.txt
src/ --> Actual Module
some_code_file.py
some_code_file2.py
__init__.py
這是我的 pyproject.toml 的內容:
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "ActualModuleHere"
version = "0.2.0"
authors = [
{ name="Jane Doe", email="jane.doe@example.com" },
]
description = "A package that contains utilities that data engineers use."
readme = "README.md"
requires-python = ">=3.7"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
]
[project.urls]
"Homepage" = "https://github.com/myOrgHere/myRepoNameHere"
"Bug Tracker" = "https://github.com/myOrgHere/myRepoNameHere/issues"
只需按照此處文檔的示例進行操作。
嘗試只使用 pyproject.toml。 那對你有用嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.