Я преследую сбой установки. У меня есть свежая установка Ubuntu Xenial. У меня есть несколько разных проектов, каждый из которых включает зависимости, требующие другой версии python, включая проект gnuradio, который, кажется, имеет разумное ожидание, что pip указывает на python2.7. Вот первая часть того, что я запустил:
$ 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 и pip3, они указывают туда, куда я хочу, чтобы они указывали:
$ 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)
Я просмотрел этот вопрос, который, похоже, касается исключительно проблемы анаконды, в то время как решение не применимо в моем случае. Это обсуждение более актуально и указывает на проблему с pip. Эта конкретная ошибка, по крайней мере, не совсем то, что происходит для меня, поскольку я могу обновить как pip, указывающий на python2.7, так и pip3, указывающий на python3.5, а захват pip не инициируется обновлением. Любая мудрость, пролитая на эту проблему, высоко ценится.
(редактировать)
$ which pip
/usr/local/bin/pip
$ head -1 `which pip`
#!/usr/bin/python3
sudo pip
ничего. Вероятно, это источник вашей проблемы. - person wim   schedule 25.08.2017which pip
,head -1 `which pip`
. - person phd   schedule 25.08.2017#!/usr/bin/python2
. Затем попробуйте еще раз — активируйте и деактивируйте venv. Изменится ли шебанг снова? - person phd   schedule 25.08.2017sudo vim /usr/local/bin/pip
или любой другой редактор, который вы предпочитаете. Я предпочитаю вим. - person phd   schedule 25.08.2017