【问题标题】:Creating an egg file generates only EGG-INFO folder创建 egg 文件只生成 EGG-INFO 文件夹
【发布时间】:2019-06-17 13:42:07
【问题描述】:

我有一个名为file_processor.py 的python 文件。我想用这个 python 文件创建一个 egg 文件,以便在其他项目中使用它。我的setup.py 文件如下所示:

from setuptools import setup, find_packages

setup(
    name = "file_processor",
    version = "0.5",
    packages = find_packages()
)

我使用以下命令运行此脚本:

python setup.py bdist_egg

该命令生成3个文件夹,分别为:build, dist, file_processor.egg-info。我的.egg 文件位于dist 文件夹中。但是,如果我将其扩展名从 .egg 更改为 .zip 以查看内容,我只会找到一个文件夹 EGG-INFO,而不是实际的 python 文件。因此,如果我尝试将 .egg 文件添加到我的项目路径中并导入 file_processor 模块,python 会抛出一个错误 no module named file_processor found. 我在这里做错了什么? 注意:我从this link得到了生成egg文件的信息

【问题讨论】:

    标签: python setup.py egg


    【解决方案1】:

    如今,轮式锉刀通常比鸡蛋更受欢迎。

    无论如何,我猜您没有将file_processor.py 放在单独的目录中,并且您将它与 setup.py 放在同一目录中,它需要在它自己的目录中。

    您还应该在该目录中包含一个__init__.py,在您可以放置​​的文件中

    from .file_processor import *

    这会将文件中的所有函数导入到包中,以便您可以使用它们。

    如果您正在寻找更多信息,本教程非常好https://python-packaging.readthedocs.io/en/latest/minimal.html

    【讨论】: