Как установить mitmproxy в Ubuntu 18.0.4

Я занимался этим уже около 2 дней, и неважно, что я стараюсь, я не могу заставить его работать.

Я установил mitmproxy в системе, так как мне нужно диагностировать проблему с SSL-соединением, когда я использовал apt-get для его установки, он был счастлив, что был удовлетворен всеми зависимостями, но каждый раз, когда я пытался запустите все, что я получу, вот что:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 574, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 892, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 783, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (urwid 2.0.1 (/usr/lib/python3/dist-packages), Requirement.parse('urwid<1.4,>=1.3.1'), {'mitmproxy'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/mitmproxy", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3088, in <module>
    @_call_aside
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3072, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3101, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 576, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 589, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 778, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'urwid<1.4,>=1.3.1' distribution was not found and is required by mitmproxy

Я почти уверен, что то, что я вижу, это жестко закодированная зависимость, IE: автор специально хочет эту версию, а не более новую, которую я делаю на самом деле установили.

Я пытался, пока я не смутился, установить множество различных вариантов строки версии, которые я могу найти в поиске пакетов Ubuntu и в различных местах поддержки в Интернете, но, похоже, ничего не работает.

sudo apt install python-urwid=1.3.1-2build1
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version ‘1.3.1-2build1’ for ‘python-urwid’ was not found
shawty@sparkdev:~$ sudo apt install python-urwid=1.3.1-1
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version ‘1.3.1-1’ for ‘python-urwid’ was not found
shawty@sparkdev:~$ sudo apt install python-urwid=1.3.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version ‘1.3.1’ for ‘python-urwid’ was not found

Я запускаю это под Ubuntu 18.0.4 LTS, но просто хожу по кругу, кому-нибудь удалось запустить mitmproxy в этой ОС?

Обновление 1

I Мне удалось установить urwid 1.3.1 с помощью pip, но это не имело никакого значения.

Collecting urwid==1.3.1
  Downloading https://files.pythonhosted.org/packages/85/5d/9317d75b7488c335b86bd9559ca03a2a023ed3413d0e8bfe18bea76f24be/urwid-1.3.1.tar.gz (588kB)
    100% |████████████████████████████████| 593kB 921kB/s
Building wheels for collected packages: urwid
  Running setup.py bdist_wheel for urwid ... done
  Stored in directory: /root/.cache/pip/wheels/4d/3b/b8/723815509f0e45f878e8b244ac714033c72703b6b27324eee0
Successfully built urwid
Installing collected packages: urwid
  Found existing installation: urwid 2.0.1
    Not uninstalling urwid at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed urwid-1.3.1
root@sparkdev:/home/xavier/.ssh# mitmproxy
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 574, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 892, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 783, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (urwid 2.0.1 (/usr/lib/python3/dist-packages), Requirement.parse('urwid<1.4,>=1.3.1'), {'mitmproxy'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/mitmproxy", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3088, in <module>
    @_call_aside
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3072, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3101, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 576, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 589, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 778, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'urwid<1.4,>=1.3.1' distribution was not found and is required by mitmproxy

Обновление 2

Ответ Раффа, приведенный ниже, является решением для устранения проблемы (или просто НЕ устанавливайте mitmproxy с помощью apt на ubnutu), еще одна вещь, однако, вам может потребоваться сделать

ln -s /usr/local/bin/mitmproxy /usr/bin/mitmproxy

После использования Raffas ответ как Ubuntu, кажется, запутывает путь и продолжает искать файл mitmproxy в старом месте.

4
задан 23 September 2019 в 20:58

1 ответ

Я рекомендовал бы удалить mitmproxy пакет, Вы установили использование APT и установку его с помощью PIP3 вместо этого.

<час>

Во-первых, выполняет следующую команду в терминале для удаления склонный установленный mitmproxy пакет:

sudo apt remove mitmproxy
<час>

, Во-вторых, установка PIP3, если это не установлено путем выполнения следующей команды в терминале:

sudo apt install python3-pip

Или обновление это, если это уже установлено путем выполнения следующей команды в терминале:

sudo pip3 install -U pip
<час>

, В-третьих, установка mitmproxy через PIP3 путем выполнения следующей команды в терминале:

sudo pip3 install mitmproxy
<час>

Наконец, тип mitmproxy в терминале и нажатии Входит для запуска его.

2
ответ дан 17 November 2019 в 15:14

Другие вопросы по тегам:

Похожие вопросы: