Python2 モジュールをインストールできません (kali 2020)

Python2 モジュールをインストールできません (kali 2020)
$ pip install impacket                                                                                                                                                                                                                  
    Requirement already satisfied: impacket in /home/kali/.local/lib/python3.9/site-packages (0.9.16.dev0)

$ sudo python2 -m pip install impacket  
    /usr/bin/python2: No module named pip

私はこれを見つけました:

$ curl https://bootstrap.pypa.io/get-pip.py -o pip2.py

$ sudo python2 pip2.py install impacket      
Collecting install  
Using cached install-1.3.0.tar.gz (1.8 kB)
    
ERROR: Command errored out with exit status 1:
command: /usr/bin/python2 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-JsNXwt/install/setup.py'"'"'; __file__='"'"'/tmp/pip-install-JsNXwt/install/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-zr9fqs
         cwd: /tmp/pip-install-JsNXwt/install/
    Complete output (6 lines):
    usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
       or: setup.py --help [cmd1 cmd2 ...]
       or: setup.py --help-commands
       or: setup.py cmd --help
    
    error: invalid command 'egg_info'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

答え1

Python2 は非推奨です。Kali ドキュメントに基づいて、Kali Linux Rolling Release に Python2 を正しくインストールする方法は次のとおりです。Kali で EoL Python バージョンを使用する

Python 2 は Debian リポジトリでメンテナンスされなくなりました。つまり、この問題を回避する方法を見つける必要があります。pyenv は、互いに競合しない複数のバージョンの Python をインストールできるようにすることで、この問題を解決します。

pyenv は python2 をインストールする方法です:

sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git

curl https://pyenv.run |bash 
export PYENV_ROOT="$HOME/.pyenv
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then  eval "$(pyenv init -)" ; fi
exec $SHELL
pyenv
pyenv install 2.7.18
pyenv global 2.7.18
python2 -m pip install impacket

次に、python2 を実行して impacket のバージョンを確認します。

python2
>>> from impacket import version
>>> version.BANNER

サンプル出力:

'Impacket v0.9.18 - Copyright 2018 SecureAuth Corporation\n'

答え2

分かりました $ curlpypa.io の get-pip.py-o get-pip.py

$ python get-pip.py

これでpip2が動作し、python2ディレクトリにインストールされます

前に何か間違えたに違いない。とにかく、これでpython2のモジュールをインストールできる。

関連情報