删除 python 构建源存档中的父目录

Remove parent directories in python build source archive

我的 python 包有以下设置:

my_package
 ┣ src
 ┃ ┗ __init__.py
 ┣ setup.cfg
 ┗ pyproject.toml

__init__.py 为空,pyproject.tomlsetup.cfg 包含 PyPi documentation page 的示例输出(内容如下所示)。

现在,为了上传到 PyPi 和打包 python 项目,我 运行 命令

python -m build

这为我提供了一个包含 Test-0.0.0.tar.gz 的新目录 dist(在 my_package 中)。这一切都在意料之中。但是当我打开 Test-0.0.0.tar.gz 时,我得到以下内容:

Test-0.0.0.tar.gz
 ┗ C:
   ┗ path
     ┗ to
       ┗ my
         ┗ dev-directory
           ┗ my_package
             ┗ dist
               ┗ tmp<some other characters>
                 ┗ Test-0.0.0.tar

如您所见,.tar.gz 文件包含我本地计算机上的路径,这显然对隐私不太友好。我绝对不想上传包含有关我的私人文件树结构信息的文件。我想,这也不是故意的。另外,据我所知,gzip 不允许直接压缩目录。

所以我的问题是:我在构建过程中做错了什么?

PS:正如您可能已经通过文档树猜到的那样,我正在 Windows 上进行开发——这可能很重要。我的Python版本是3.7.1,通过Miniconda3安装。


文件内容:

pyproject.toml

[build-system]
requires = [
    "setuptools>=42",
    "wheel"
]
build-backend = "setuptools.build_meta"

setup.cfg

[metadata]
name=Test

[options]
package_dir =
    = src

__init__.py 为空。

我将 python 更新到 3.9 版,现在一切正常。我试图在官方 GitHub 存储库中查找问题,但没有找到。不过,这是一个非常奇怪的行为。