2015-04-12 104 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