我有一个测试设置文件,我制作了一个简单的“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。