簡體   English   中英

Python 構建無法檢測到 pyproject.toml 文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM