我有一个测试设置文件,我制作了一个简单的“hello world”脚本。我有一个名为的包mytest,它有一个功能hello。现在,我有一个非常简单的setup.py. 一切正常,如果我只是运行python setup.py install. 但是,如果我想将 lib 安装到主文件夹 ( python setup.py install --home=/home/blah) 中,则该软件包不再可用(import mytest在 python 中运行给了我ImportError: No module named mytest)。
我应该手动将 pth 文件添加到site-packages文件夹中吗?我试过了(使用 contents /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
主文件
安装程序.py
main.py只是一个可执行文件,它导入 mytest 并调用函数来打印 hello world。但我试图import mytest在 python 中运行以查看是否安装了 lib。