gpt4 book ai didi

python - setup.py 并安装一个 python 项目

转载 作者:太空狗 更新时间:2023-10-30 02:22:41 26 4
gpt4 key购买 nike

我已经查看了 setup.py 文档,但对于我认为应该非常基本的内容仍然存在一些困难。

我已经将其分解为一个我试图运行的简单示例项目,我的项目的目录布局如下:

myproject
setup.py
src\
main.py
extern\
__init__.py
mytest.py

我的项目/setup.py:

#!/usr/bin/env python
from distutils.core import setup

setup(name = "myproject",
package_dir = {'':"src"},
packages = ["extern"],
scripts = ["src/main.py"],
)

我的项目/src/main.py:

#! /usr/bin/env python
import extern.mytest as mytest

mytest.print_test()

我的项目/src/extern/mytest.py:

#!/usr/bin/env python
def print_test():
print "YAY"

myproject/src/extern/_init_.py 是空白的。

我正在运行 setup.py 作为:

setup.py install --prefix ~/local

setup.py 将无错误地完成并将 main.py 移动到 ~/local/bin 但是当我运行它时我收到以下错误:

ImportError: No module named extern.mytest

知道我做错了什么吗?谢谢!

最佳答案

问题是该模块不在 sys.path 下,因此 import 语句无法找到它。

在我的例子中,extern 模块安装在 ~/local/lib/python2.7/site-packages/extern 下。不过需要注意的是,在安装的时候,安装路径被任意设置为~/local

要解决此问题,您可以将 PYTHONPATH 变量设置为安装模块的位置,或者将该路径添加到 main.py 中的 sys.path

或者,代替:

setup.py install --prefix ~/local

使用:

setup.py install --user

这将安装在您的用户站点包目录中(在我的平台中为 ~/.local),python 将能够毫无问题地找到该包。但是,您可能需要更改 PATH 环境变量以包含 ~/.local/bin

关于python - setup.py 并安装一个 python 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9185307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com