2017-02-17 162 views
1

我遇到了python3的問題。由於某些原因,我無法弄清楚,python3中可用的模塊與通過pip3安裝的模塊不同。Python3沒有找到由pip3安裝的模塊

運行在終端的回報pip3 list

DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. 
nltk (3.2.2) 
numpy (1.12.0) 
pandas (0.19.2) 
pip (9.0.1) 
python-dateutil (2.6.0) 
pytz (2016.10) 
setuptools (25.2.0) 
six (1.10.0) 
wheel (0.29.0) 

運行this script,看看哪些模塊python3有可用的回報:

['cycler==0.10.0', 'matplotlib==1.5.3', 'nltk==3.2.1', 'numpy==1.11.2', 'pip==9.0.1', 'pyparsing==2.1.10', 'python-dateutil==2.6.0', 'pytz==2016.7', 'setuptools==18.2', 'six==1.10.0'] 

這兩個是不一樣的,我不知道爲什麼。例如,nltk的版本較舊。缺少pandas

我已經安裝了python通過自制軟件,我通過Textmate2運行腳本。但是,當我通過python3在終端中運行代碼時,我遇到了同樣的問題。無論PIP3和python3安裝在/usr/local/bin/

$ which python3 pip3 
/usr/local/bin/python3 
/usr/local/bin/pip3 

而這也是該版本python3使用:

>>> import sys, os 
>>> os.path.dirname(sys.executable) 
'/usr/local/bin' 

如果有人可以幫助我弄清楚爲什麼是這樣的情況,以及我如何修復它,我非常感謝幫助。

+0

嘗試使用命令「ls -l'python3 pip3'」來查看鏈接指向的位置。 –

回答

1

看看pip3腳本的第一行。

第一行(與#!開始應該指向同一個可執行文件的符號鏈接蟒蛇3:

> head -n 1 /usr/local/bin/pip 
#!/usr/local/bin/python3.6 

> ls -ld /usr/local/bin/python3 
lrwxr-xr-x 1 root wheel 9 Dec 25 22:37 /usr/local/bin/[email protected] -> python3.6 

如果不是這種情況下,卸載的pip並用正確的Python版本重新安裝。

+0

您說得對,pip指向一箇舊的python3安裝,我不知道我有。所有](http://superuser.com/a/276843/308345),並通過自制軟件做了一個乾淨的安裝。漢克斯! – altabq