2

我正在使用没有 setuptools 的 python 环境(iOS Pythonista),因此 python 包中的 setup.py 将不会运行。有一个站点包目录添加到 sys.path。我正在寻找一种巧妙的方法将包从 pypi 压缩到站点包中,而无需将带有 __init__.py 的实际包移动到站点包中。我想将包含所有文档的文件夹保存在站点包中。有没有办法使用 __init__.py 或其他 python 保留文件来扩展 sys.path?

一个简化的pypi包结构:

MyPackage-1.10.0/
    我的包裹/
        __init__.py
        某事.py
    安装程序.py

当前方式:将 mypackage 移动到站点包中,丢弃其余的。

或者有没有办法在将站点包添加到 sys.path 时使用 site-packages/__init__.py 之类的东西为包文件夹添加 sys.path?

4

1 回答 1

2

您可以在中创建一个或多个.pth文件site-packages;它们的内容将在出现时添加sys.path

site模块文档

路径配置文件是名称具有格式的文件,name.pth并且存在于上述四个目录之一中;它的内容是要添加到的附加项目(每行一个)sys.path。不存在的项目永远不会添加到 中sys.path,并且不会检查项目是否引用了目录而不是文件。没有项目被添加sys.path超过一次。空白行和以 开头#的行将被跳过。以import(后跟空格或制表符)开头的行将被执行。

使用它将包目录的完整或相对路径添加到sys.path.

例如,对于您的MyPackage-1.10.0包,您只需要一个MyPackage-1.10.0.pth文件,其内容单独占MyPackage-1.10.0一行,以便 Python 将完整目录路径添加到sys.path.

于 2014-12-29T22:09:49.673 回答