在把項目從CentOS遷移向Ubuntu上時,出現了這樣一個問題,一部分包原本安裝在
/usr/lib/python3.5/site-packages
下的包現在無法被python導入使用。這是由于Debian為了減少系統自帶Python和手動安裝的Python之間的沖突。將dist-packages取代了site-packages。但是原先的項目是不是在site-packages的,更換位置顯然會產生不可預測量的腳本和代碼修改以及產生的運行隱患。
解決方法:
添加環境變量
PYTHONPATH=/usr/lib/python3.5/site-packages
Python在導入模塊的路徑搜素順序如下:
1.包含輸入腳本的目錄或或者當前目錄
2.PYTHONPATH列表的中的目錄
3.安裝依賴的默認值