Как именно работает pip3 для обработки зависимостей? - PullRequest
0 голосов
/ 28 марта 2020

Я абсолютный новичок с Python (я пришел с Java), и у меня есть следующие сомнения относительно правильного использования pip Я попытаюсь объяснить мою проблему:

На моей Linux машине я установил две версии python:

  • Python 3.7.7 : это в * Папка 1011 * / usr / bin / python3 (я запускаю скрипт Python, используя эту версию, используя команду python3 myscript.py ).

  • Python 2.7.17 : находится в папке / usr / bin / python (я запускаю сценарий Python, используя эту версию, используя команду * *python myscript.py).

Хорошо, так что pip - это инструмент, используемый Python для загрузки внешних зависимостей. У меня есть некоторые сомнения:

  1. В начале я не установил pip в моей системе (и это было невозможно использовать с консоли Linux), но я могу использовать это из PyCharme консоли. Почему? PyCharme встраивает свою версию pip?

Я так думаю, потому что, если я выполню это изнутри консоли PyCharm:

(venv) root@kali:~/Documents/PycharmWS/packet_sniffer# pip3 -V
pip 19.0.3 from /root/Documents/PycharmWS/packet_sniffer/venv/lib/python3.7/site-packages/pip-19.0.3-py3.7.egg/pip (python 3.7)

Я получу, что pip пришел из venv папка моего текущего проекта.

Как объяснялось ранее, я установил 2 разные версии Python (2 и 3) на мою машину. Нужно ли устанавливать две разные версии pip ? (один для Python3 и другой для Python2)

Затем я установил pip3 на мою машину с помощью этой команды:

sudo apt-get install python3-pip

но теперь у меня возникла следующая проблема: я попытался удалить зависимости (которые я скачал перед использованием версии pip внутри PyCharme) с помощью команды:

pip3 uninstall scapy Не удалить scapy в / usr / lib / python3 / dist-packages, outside environment / usr Невозможно удалить 'scapy'. Не найдено файлов для удаления.

, но, как вы видите, я получаю сообщение об ошибке. Почему я получаю эту ошибку? В: / usr / lib / python3 / dist-packages / У меня есть папка с именем scapy , которая должна представлять зависимость, которую я пытаюсь удалить.

...