【问题标题】:setup.py script doesn't identify modulesetup.py 脚本无法识别模块
【发布时间】:2020-03-14 03:29:00
【问题描述】:

我有以下树:

myPackage
|_myPackage
|    |_mainScript.py
|    |_f1.py
|    |_f2.py
|    |_Rscript.R
|    |_ __init__.py
|_setup.py
|_MANIFEST.in
|_README.md

我的目标是创建一个 setup.py 文件来安装 myPackage 并使用终端中的 mypackage 命令直接调用它。

setup.py 代码中的设置块如下所示:

setup(
name=NAME,
version="1.0.0",
long_description=ldesc,
long_description_content_type="text/markdown",
author=AUTHOR,
author_email=EMAIL,
python_requires=REQUIRES_PYTHON,
url=URL,
packages=["myPackage"],
install_requires=REQUIRED,
package_data={"": ["*.R"]},
include_package_data=True,
entry_points={
    "console_scripts": [
        "mypackage=myPackage:main",
        ],
    },
#include_package_data=True,
classifiers=[
    "License :: OSI Approved :: GNU Lesser Public License v3 or Later",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.6",
    "Programming Language :: R",
    "Programming Language :: R :: 3",
    "Programming Language :: R :: 3.6",
    "Development Status :: 3 - Alpha",
    "Operating System :: OS Independant",
    ],
)

安装工作正常,但我收到 errorModuelNotFoundError: No module nmed "myPackage"。 我也试过用:

  • package_dir = {"": "myPackage"},
  • packages = find_packages()
  • scripts=["myPackage/mainScript.py.py"]

但是,它返回相同的错误。 我将不胜感激这方面的一些帮助。我正在使用 Python3.6.0 和 Ubuntu。

谢谢!

【问题讨论】:

    标签: python python-3.x setup.py


    【解决方案1】:

    怎么样

    "console_scripts": ["mypackage=myPackage.mainScript:main"],
    

    假设那是def main(): 住的地方?

    【讨论】:

    • 我试过了,但它返回模块 myPackage.mainScript 没有属性 main ,这是我没有得到的,因为我有 if name = main:行
    • @JKeller 为使此答案正常工作,文件myPackage/mainScript.py 中需要一个名为main函数
    猜你喜欢
    • 2018-09-25
    • 2022-01-22
    • 2021-11-01
    • 2016-07-08
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    相关资源
    最近更新 更多