【发布时间】:2011-05-23 06:21:53
【问题描述】:
我有一个测试设置文件,我制作了一个简单的“hello world”脚本。我有一个名为mytest 的包,它有一个函数hello。现在,我有一个非常简单的setup.py。一切正常,只要我运行python setup.py install。但是,如果我想将 lib 安装到主文件夹 (python setup.py install --home=/home/blah),则该软件包不再可用(在 python 中运行 import mytest 给了我ImportError: No module named mytest)。
我应该手动将 pth 文件添加到 site-packages 文件夹吗?我试过了(内容/home/blah/lib/python,我的包放在那里)并且导入mytest 工作正常。不应该自动完成吗?还是我错过了什么?
编辑:
安装输出:
ago@dellbert:~/py/mytest-0.1$ python setup.py install --home=/home/ago/py/ 运行安装 运行构建 运行 build_py 复制 src/mytest/mytest.py -> build/lib.linux-x86_64-2.6/mytest 运行 build_scripts 复制和调整 src/main.py -> build/scripts-2.6 运行 install_lib 复制 build/lib.linux-x86_64-2.6/mytest/mytest.py -> /home/ago/py//lib/python/mytest 字节编译 /home/ago/py//lib/python/mytest/mytest.py 到 mytest.pyc 运行 install_scripts 复制 build/scripts-2.6/main.py -> /home/ago/py//bin 将 /home/ago/py//bin/main.py 的模式更改为 755 运行 install_egg_info 删除 /home/ago/py//lib/python/mytest-0.1.egg-info 写 /home/ago/py//lib/python/mytest-0.1.egg-info和 setup.py:
从 distutils.core 导入设置 设置(名称='我的测试', 描述='测试', 作者='以前', author_email='电子邮件', 版本='0.1', package_dir={'mytest': 'src/mytest'}, 包=['mytest'], 脚本=['src/main.py'] )文件夹结构:
-src: -我的测试: __init__.py 我的测试.py 主文件 安装程序.pymain.py 只是一个可执行文件,它导入 mytest 并调用函数来打印 hello world。但是我尝试在python中运行import mytest来查看是否安装了lib。
【问题讨论】:
-
好吧,目前我已将 mytest.pth 文件添加到
site-packages中,内容为/home/ago/py/lib/python。但是,如果有人有解决方案,为什么我的模块/包不适用于python setup.py install,我仍然感兴趣。谢谢!
标签: python installation importerror setup.py