在site-packages中导入路径

时间:2014-12-29 21:55:56

标签: python pypi

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

简化的pypi包结构:

MyPackage-1.10.0/
    mypackage/
        __init__.py
        somethinga.py
    setup.py

当前方式:将mypackage移至site-packages中,丢弃其余部分。

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

1 个答案:

答案 0 :(得分:2)

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

来自site module documentation

  

路径配置文件是名称格式为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,以便将完整的目录路径添加到{{ 1}}。

相关问题