я python пытается автоматически начать с venv - PullRequest
0 голосов
/ 02 мая 2020

Я только что установил ipython в root / global (т.е. просто с apt install ipython ipython3, а не в venv) на моей машине Linux Mint 19.3. Тем не менее, попытка запустить его выдает ошибку:

user@computer:/media/disk/dir$ ipython
/home/user/.local/bin/ipython: 2: exec: /media/disk/venv/bin/python3: not found
user@computer:/media/disk/dir$ ipython3
/home/user/.local/bin/ipython3: 2: exec: /media/disk/venv/bin/python3: not found

Ошибка состоит в том, что он пытается автоматически загружать виртуальные среды, но они больше не существуют. Я не могу понять, почему он это делает.

Не могу найти вопрос по этому поводу, есть много о намеренном запуске из виртуальной среды, но я хочу просто запустить его нормально.

Мои python корзины находятся в обычном месте:

user@computer:/media/disk/dir$ which ipython
/home/user/.local/bin/ipython
user@computer:/media/disk/dir$ which ipython3
/home/user/.local/bin/ipython3

Запуск только python3, как правило, нормально работает с путями:

user@computer:/media/disk/dir$ python3
Python 3.6.9 (default, Apr 18 2020, 01:56:04) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/user/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.6/dist-packages']
>>> import os
>>> os.getcwd()
'/media/disk/dir'

Система:

user@computer:/media/disk/dir$ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description:    Linux Mint 19.3 Tricia
Release:    19.3
Codename:   tricia

У меня нет ничего значимого в ~/.bashrc.

Дополнительная информация:

user@computer:/media/disk/dir$ type -a python3 ipython3
python3 is /usr/bin/python3
ipython3 is /home/user/.local/bin/ipython3
ipython3 is /usr/local/bin/ipython3
ipython3 is /usr/bin/ipython3

user@computer:/media/disk/dir$ head -1 -- $(type -P ipython3)
#!/bin/sh

Для меня это нормально.

1 Ответ

1 голос
/ 02 мая 2020

APT устанавливает I Python 3 на /usr/bin/ipython3.

Это означает, что у вас есть дополнительная установка I Python на ~/.local/bin/ipython3, которая ссылается на virtualenv. Если бы у вас все еще был virtualenv, я бы сказал, используйте pip, чтобы удалить его, но поскольку virtualenv больше не существует, я думаю, вы можете удалить его вручную.

И у вас может быть еще один дополнительный на /usr/local/bin/ipython3, но я Я не уверен. Вот где sudo pip будет его устанавливать.

Теперь, в моем опыте использования I Python и pip в Ubuntu (по аналогии с Mint), репозитории по умолчанию всегда сильно устарели. Лучшее решение, которое я нашел лично, - это установить virtualenv в моей домашней папке и установить в него I Python, а затем связать его с моим PATH в ~/.local/bin, точно так же, как у вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...