有人可以告诉我将它打包为模块我做错了什么:
https://github.com/xamox/python-zxing 。
我的 setup.py 如下:
#!/usr/bin/env python
from distutils.core import setup
setup(
name='zxing',
version='0.1',
description="wrapper for zebra crossing (zxing) barcode library",
url='http://simplecv.org',
author='Ingenuitas',
author_email='public.relations@ingenuitas.com',
packages=['zxing'],
)
我正在尝试“导入 zxing”。我做了 setup.py 安装,把它放在/usr/local/lib/python2.7/dist-packages/,但导入 zxing 不起作用。
我收到以下错误:
In [1]: import zxing.zxing
---------------------------------------------------------------------------
ResolutionError Traceback (most recent call last)
/home/xamox/<ipython-input-1-9ff7d0755c55> in <module>()
----> 1 import zxing.zxing
/usr/local/bin/zxing.py in <module>()
3 __requires__ = 'zxing==0.1'
4 import pkg_resources
----> 5 pkg_resources.run_script('zxing==0.1', 'zxing.py')
/usr/lib/python2.7/dist-packages/pkg_resources.pyc in run_script(self, requires, script_name)
465 ns.clear()
466 ns['__name__'] = name
--> 467 self.require(requires)[0].run_script(script_name, ns)
468
469
/usr/lib/python2.7/dist-packages/pkg_resources.pyc in run_script(self, script_name, namespace)
1192 script = 'scripts/'+script_name
1193 if not self.has_metadata(script):
-> 1194 raise ResolutionError("No script named %r" % script_name)
1195 script_text = self.get_metadata(script).replace('\r\n','\n')
1196 script_text = script_text.replace('\r','\n')
ResolutionError: No script named 'zxing.py'
最佳答案
查看您在评论中显示的 URL 的堆栈跟踪:
/usr/local/bin/zxing.py in <module>()
3 __requires__ = 'zxing==0.1'
4 import pkg_resources
----> 5 pkg_resources.run_script('zxing==0.1', 'zxing.py')
这表明它正在尝试从
/usr/local/bin/zxing.py
加载一些 guff,其中包含不在当前版本中的代码,例如“导入 pkg_resources”。看起来像之前实验的碎片。摆脱它。现在你有一个干净的甲板:
拥有一个空的
__init__.py
和一个单一源文件包似乎毫无意义。我建议您删除 __init__.py
并删除其他实验的所有痕迹(尤其是“build”目录)。如果有文件夹 /usr/local/lib/python2.7/dist-packages/zxing
,请将其删除。关于python - 我需要对我的 python 代码做什么才能让它成为一个模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9282204/