我使用的是没有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?
答案 0 :(得分:2)
您可以在.pth
中创建一个或多个site-packages
个文件;他们的内容会在出现时添加到sys.path
。
路径配置文件是名称格式为
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}}。