2015-04-12 135 views
1

我正在发布一个相当大的C库;作为发行版的一部分是一个Python包装器包。构建系统是cmakemake install应该将Python代码复制到Python路径中的某个位置。基于阅读Python文档的默认位置安装Python模块是:应该在哪里安装python wrapper/package

${CMAKE_INSTALL_PREFIX}/lib/pythonX.Y/site-packages 

但在基于Debian的系统这个路径不是默认的Python搜索路径,而不是搜索路径包含/usr/local/lib/pythonX.Y/dist-packages。我想要一个默认安装“只是工作”,并想知道什么是最好的方法dist-packagessite-packages?我目前的计划是:

  1. 如果在基于Debian的系统上 - 安装到dist-packages
  2. 否则安装到site-packages

但也许dist-packages为其配备的软件包管理器包?

回答

1

dist-packages仅适用于包管理器附带的包。

从Debian的维基:

的dist-包,而不是站点包。从Debian软件包安装的第三方Python软件进入dist-packages,而不是site-packages。这是为了减少系统Python与您可能手动安装的任何源代码Python版本之间的冲突。

对于包装python模块,参照Section 2.5

公共Python模块不Python中央或Python - 载体必须安装在该系统的Python模块目录,/usr/lib/pythonX.Y处理/ dist-packages for python2.6及更高版本,以及/usr/lib/pythonX.Y/site-packages for python2.5及更早版本。公共Python 3模块必须安装在/ usr/lib/python3/dist-packages中。

+0

好的 - 问题是没有操作$ PYTHONPATH或者网站初始化,Python解释器不会找到我的包。 – user422005

+0

我不确定:但我读debian wiki的方式可以解释为site-packages是从源Python发行版 - 我只有一个从源Python模块 - 使用Python的标准发行版? – user422005

+0

是的,网站包是从源python分布。重写了答案。 – TavoloPerUno