gpt4 book ai didi

python - 在 setuptools 中使用 console_scripts 时出现 ImportError

转载 作者:行者123 更新时间:2023-11-28 22:45:34 26 4
gpt4 key购买 nike

我正在尝试在 Python 中构建一个名为 dnsrep 的程序,我正在使用 setuptools 以便我可以在不使用命令 python dnsrep 的情况下调用 dnsrep 模块。我写的setup.py脚本如下:

from setuptools import setup, find_packages

setup(
name='dnsrep',
version='0.1',
description='Program that gives a reputation score to url\'s\n.',
entry_points = {
'console_scripts': ['dnsrep = dnsrep:main']
},
zip_safe=True,
)

我使用以下命令安装模块:

python setup.py install

我的模块已注册,但是当我运行它时出现错误:

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.7/bin/dnsrep", line 9, in <module>
load_entry_point('dnsrep==0.1', 'console_scripts', 'dnsrep')()
File "build/bdist.macosx-10.6-intel/egg/pkg_resources/__init__.py", line 521, in load_entry_point
File "build/bdist.macosx-10.6-intel/egg/pkg_resources/__init__.py", line 2632, in load_entry_point
File "build/bdist.macosx-10.6-intel/egg/pkg_resources/__init__.py", line 2312, in load
File "build/bdist.macosx-10.6-intel/egg/pkg_resources/__init__.py", line 2318, in resolve
ImportError: No module named dnsrep

最佳答案

您必须先安装 Python 脚本,然后才能通过定义的入口点

调用它

这是我的虚拟项目:

dnsrep/
├── dnsrep.py
└── setup.py

这是 setup.py 的样子:

from setuptools import setup
setup(
name='dnsrep',
version='0.1',
description='Program that gives a reputation score to url\'s\n.',
py_modules=['dnsrep'],
entry_points = {
'console_scripts': ['dnsrep = dnsrep:main']
},
zip_safe=True,
)

注意参数 py_modules=['dnsrep'],它将 dnsrep.py 安装为一个新模块。

最后,这是我对 dnsrep.py 的虚拟实现:

from __future__ import print_function

def main():
print("Hey, it works!")

安装后,一切正常,$ dnsrep 打印:Hey, it works!

关于python - 在 setuptools 中使用 console_scripts 时出现 ImportError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28469772/

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