gpt4 book ai didi

python - setup.py sdist flattings 包文件结构,删除中间文件夹

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:55 25 4
gpt4 key购买 nike

文件结构:

.
|-- rdir
| |-- __init__.py
| |-- core
| | |-- __init__.py
| | |-- rdir_core.py
| | |-- rdir_node.py
| |-- generateHTML
| | |-- __init__.py
| |-- rdir.py
|-- setup.py

安装.py:

from setuptools import setup, find_packages

setup(
name="rdir",
version="0.40",
description="....",
author="lhfcws",
author_email="lhfcws@gmail.com",
url="...",
license="MIT",
packages=["rdir"],
scripts=["rdir/rdir.py"],
install_requires=['colorama', 'pyquery'],
)

命令:

sudo python setup.py install         #local install
sudo python setup.py sdist upload #pypi upload

尝试在其他路径(例如主目录)中使用from rdir import rdir,仅满足:

ImportError: No module named core.rdir_core

当然,如果我在项目目录中导入rdir,效果很好。我查看了 site-packages/rdir.egg-info/,发现所有 .py 文件都被移动到平面结构中:

EGG-INFO
├── PKG-INFO
├── SOURCES.txt
├── dependency_links.txt
├── not-zip-safe
├── requires.txt
├── scripts
│   ├── __init__.py
│   ├── generate_page.py
│   ├── rdir.py
│   ├── rdir_core.py
│   └── rdir_node.py
└── top_level.txt

我也尝试过,如果我只是在 rdir.py 中 import rdir_core ,它会正确编译。所以我猜测我的setup.py有问题,我阅读了一些demo,github上一些著名python项目的setup.py以及一些官方手册。我根据这些引用更改了 setup.py,但都失败了。我不知道所以我必须寻求帮助。

我的setup.py有问题吗?或者我错过了什么?

或者请给我展示一个多文件结构项目的 setup.py 的好例子。谢谢!

顺便说一句,如果以上这些不能为您提供足够的信息,请查看rdir on Github

最佳答案

这是 setup.pypackages 关键字的问题。您应该列出子包以及顶级包。

packages=['rdir', 'rdir.core', 'rdir.generateHTML'],

或者,使用您已导入的find_packages

packages=find_packages(),

我没有尝试 sdist 的东西,也许它只是将所有 py 文件收集为脚本。

附注您可以使用python setup.py build来测试结果文件夹结构。

关于python - setup.py sdist flattings 包文件结构,删除中间文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27872028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com