由于一些导入问题,我在运行已安装的 python 脚本时遇到了一些问题。
我有一个包结构如下:
MANIFEST.in
setup.py
bin/opal.py
bin/opal/
/__init__.py
/__init__.pyc
/core.py
/core.pyc
/io.py
/file.py
/import_limesurvey.py
/dictionary.py
/io.pyc
/importer.pyc
/data.py
/rest.py
rest.py 中有一个类:
class OpalRestCommand:
...
opal.py 文件以下列方式使用此模块:
import opal.rest
...
restCmd = opal.rest.OpalRestCommand()
这是设置定义:
...
setup_args = get_kw(
name=PACKAGE_NAME,
version=VERSION,
author=AUTHOR,
author_email=AUTHOR_EMAIL,
maintainer=MAINTAINER,
maintainer_email=MAINTAINER_EMAIL,
url=URL,
license=LICENSE,
description=DESCRIPTION,
long_description=DESCRIPTION_LOG,
platforms=PLATFORMS,
packages = ['opal', 'opal.protobuf']
package_dir = {'opal': 'bin/opal'}
scripts=['bin/opal.py']
)
...
if __name__ == '__main__'
# do some manipulation with argv
apply(setup, (), setup_args)
当我在客户端机器 (MAC) 上安装它并运行 opal.py 命令时,我总是收到错误消息:
ImportError: No module name rest
但是,如果我创建一个使用 rest 模块的测试程序,我没有导入问题。我是 Python 的新手,我不知道我是否应该为已安装的脚本做一些特别的事情!我假设 opal.py 脚本应该以与测试程序相同的方式找到我的 rest 模块。
任何帮助将不胜感激。
干杯。