我想從Windows切換到Linux(Ubuntu)編寫我的Python程序,但我無法讓事情工作。問題來了:我可以看到在Ubuntu中預裝了很多模塊(比如numpy,pandas,matplotlib等)。他們很好地坐在/ host/Python27/Lib/site-packages目錄中。但是當我編寫測試python腳本並嘗試執行它時,只要我嘗試導入模塊(例如import numpy as np
就給我ImportError: No module named numpy
),它就會給我一個ImportError。當我在命令行中鍵入which python
時,我得到/usr/bin/python
路徑。我想我可能需要改變與python路徑相關的東西,但我不知道該怎麼做。模塊安裝時導入Python ImportError [Ubuntu]
回答
您可以在終端中使用以下命令查看PYTHONPATH
中的文件夾。
python -c "import sys, pprint; pprint.pprint(sys.path)"
我猜/host/Python27/Lib/site-packages
不會是在那裏(它聽起來並不像一個普通的Python路徑。您是如何安裝這些軟件包?)。
如果你要的文件夾添加到您的PYTHONPATH
然後使用以下命令:
export PYTHONPATH=$PYTHONPATH:/host/Python27/Lib/site-packages
個人在這裏是使用Python開發的一些建議:
使用
virtualenv
。這是一個非常強大的工具,可以創建沙盒python環境,因此您可以安裝模塊並將它們與主解釋器分開。使用
pip
- 當您創建virtualenv
並激活它時,可以使用pip install
爲您安裝軟件包。例如pip install numpy
會將numpy安裝到您的虛擬環境中,並且只能從此virtualenv訪問。這意味着你也可以安裝不同的版本進行測試等。非常強大。我建議使用pip
來安裝你的python軟件包而不是使用ubuntuapt-get install
,因爲你更可能獲得更新版本的模塊(apt-get
依賴於某人打包最新版本的python庫,並且可能無法使用pip
)。在編寫可執行文件(
chmod +x my_python_script.py
)的Python腳本時,請確保將#!/usr/bin/env python
放在最頂端,因爲它會在您的虛擬環境中選取python解釋器。如果你不(並且放#!/usr/bin/python
)那麼運行./my_python_script.py
將總是使用系統python解釋器。
/host/Python27/Lib/site-packages
不是linux安裝上的默認python目錄,據我所知。
根據您的處理器架構,應該在/usr/lib
或/usr/lib64
之下找到正常的python安裝(和python軟件包)。
如果你想查一下Python是除了這些目錄中搜索您可以使用一個終端使用以下命令:
echo $PYTHONPATH
如果未列出/host/Python27/Lib/site-packages
路徑,嘗試使用以下命令再次嘗試:
export PYTHONPATH=$PYTHONPATH:host/Python27/Lib/site-packages
如果這應該工作,你不希望你要使用這些軟件包,簡單地把它放入一個叫.bashrc
文件在您home
FOL每次寫在終端der(通常爲/home/<username>
)。
- 1. python導入模塊ImportError
- 2. Python安裝包不會導入模塊
- 3. 在谷歌雲殼中安裝python模塊,但python導入給出ImportError
- 4. 成功安裝後CircleCI python模塊導入錯誤
- 5. Python安裝模塊和導入
- 6. 在Spyder 2.1上安裝/導入sklearn模塊? (Ubuntu)
- 7. python導入模塊
- 8. 無法導入模塊 - ImportError:無模塊
- 9. Linux-Ubuntu:如何安裝python模塊autopy?
- 10. Pylucene 4.9.0 Ubuntu 14.04安裝ImportError
- 11. paramiko安裝「無法導入ImportError」
- 12. 如何在運行時安裝和導入Python模塊?
- 13. Python模塊在Mac OS上導入時被問題安裝
- 14. ImportError:沒有名爲pynotify的模塊。當模塊安裝時
- 15. 只能夠在安裝目錄中導入python模塊
- 16. 無法導入模塊後,安裝
- 17. 導入已安裝模塊的Python錯誤
- 18. 嘗試在SublimeText2中導入python模塊時出現ImportError
- 19. Python模塊導入
- 20. Ubuntu - Python安裝
- 21. 無法導入模塊已安裝Python Pycharm
- 22. Python-2.7模塊肯定安裝時沒有被導入
- 23. Python模塊沒有安裝
- 24. 安裝python模塊時出錯
- 25. ImportError:安裝cherrypy時沒有名爲http.cookies的模塊3.2
- 26. 不能導入模塊在Python 3的ALT安裝後
- 27. Python模塊已經安裝,但獲取導入錯誤
- 28. 不能導入PIP模塊安裝在Ubuntu
- 29. 在ubuntu上安裝jpeg模塊
- 30. 安裝Python模塊錯誤
我猜這些軟件包是由Ubuntu安裝的,因爲我沒有在完全安裝Ubuntu之後自行安裝任何python軟件包。我已經嘗試將'/ host/...'路徑添加到PYTHONPATH,但是仍然無法找到各種依賴關係。我會嘗試使用'virtualenv'來代替它,看看它是否有效。謝謝你的回覆 – MPA