2017-08-24 62 views
0

我正在追趕安裝失敗。我有一個新的Ubuntu的XENIAL安裝。我有幾個不同的項目,每個項目都涉及到需要不同版本的python的依賴項,其中包括一個gnuradio項目,它似乎有合理的期望,指向python2.7。下面是我碰到什麼第一部分:python3.6-venv劫持點子。什麼是防止這種情況的方法?

$ sudo apt-get update 
$ sudo apt-get -yq upgrade 
$ sudo apt-get -yq install python-pip 
$ sudo pip install --upgrade pip 
$ sudo apt-get install -yq python3-pip 
$ sudo pip3 install --upgrade pip 
$ sudo apt-get update 
$ sudo apt-get -yq upgrade 
$ sudo apt-get -yq install python-dev python3-dev 
$ sudo apt-get install --fix-missing python-apt 
$ sudo pip install numpy scipy matplotlib pybombs virtualenv 
$ sudo apt-get -yq install build-essential libffi-dev libssl-dev python3-setuptools 
$ sudo pip3 install --upgrade setuptools wheel 
$ sudo pip3 install numpy scipy matplotlib virtualenv 
$ sudo add-apt-repository ppa:deadsnakes/ppa 
$ sudo apt-get install python3.6 
$ sudo apt-get -yq install python3.6-venv python3.6-dev 
$ sudo apt-get update 
$ sudo apt-get upgrade 

沒有抱怨到目前爲止,當我檢查PIP和PIP 3,他們地步,我想他們指出:

$ pip -V 
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7) 
$ pip3 --version 
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5) 

現在我創建對於python3.6虛擬環境中,輸入它,在那裏PIP點python3.6如預期,我安裝了幾個包,然後退出虛擬環境中,突然PIP點python3.5

$ mkdir projvenv 
$ python3.6 -m venv /home/username/projvenv/ 
$ source /home/tom/vertexprojvenv/bin/activate 
(projvenv) $ pip -V 
pip 9.0.1 from /home/tom/projvenv/lib/python3.6/site-packages (python 3.6) 
(projvenv) $ pip install numpy scipy matplotlib 
(projvenv) $ deactivate 
$ pip -V 
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5) 

我看了看this question這似乎解決純粹的蟒蛇問題,而解決方案不適用於我的情況。 This discussion是更重要的,並指出一個問題與點。該特定的錯誤至少不是我正在發生的事情,因爲我能夠升級指向python2.7的pip和指向python3.5的pip3,並且pip劫持不是由升級啓動的。任何有關這個問題的見解都值得讚賞。

(編輯)

$ which pip 
/usr/local/bin/pip 
$ head -1 `which pip` 
#!/usr/bin/python3 
+0

不要做'sudo pip'什麼。這可能是你問題的根源。 – wim

+0

調試:向我們展示'哪個pip','head -1 \'哪個pip \''。按照建議編輯 – phd

+0

@phd。 – user100345

回答

0

恢復家當線/usr/local/bin/pip - 使它#!/usr/bin/python2

PS。那麼,正式它不是一個完整的答案,因爲問題是「如何阻止?」我不知道什麼方案改變了shebang線;但我懷疑這是虛擬環境。

相關問題