【发布时间】:2021-03-18 15:24:14
【问题描述】:
我有一个 Python 项目,我正在尝试为 PyPI 打包,但是当我使用 setup.py 时,它停止作为独立脚本工作。
目录结构如下:
project_dir
setup.py
module_name_dir
__init__.py
main.py
other.py
init.py 从 main.py 导出选定的方法。 main.py 从 other.py 导入各种东西
当我在 main.py 中编写导入时
from other import *
然后$ python main.py 运行正常,但$ python setup.py sdist 给出“ModuleNotFoundError: No module named 'other'”
另一方面,当我写像这样的导入时
from .other import *
然后$ python setup.py sdist 运行良好,但$ python main.py 给出“ImportError:尝试相对导入而没有已知的父包
"
setup.py 脚本非常简单,接近最小示例:
from setuptools import setup
description=""" ... """
long_description=""" ... """
setup(
name="",
version="",
packages=[module_name],
url="",
license='MIT',
author="",
author_email="",
description=description,
long_description=long_description,
long_description_content_type='text/markdown',
keywords='',
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Topic :: System :: Networking',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3'
],
)
我认为这种明显的 catch 22 情况是因为我的圆顶有问题,而不是它实际应该的方式。谁能帮我修一下?
【问题讨论】:
-
你能添加你的 setup.py 文件吗?
-
@DevanshSingh 在上面添加了 setup.py
标签: python setuptools python-3.8 setup.py