How to upgrade all Python packages in Kali Linux
Your Kali Linux system is full of obsolete Python packages. You can verify this, in order to display Python 3 packages for which a new version has been released:
pip3 list -o
To display Python 2 packages for which a new version has been released:
pip2 list -o
To upgrade all Python 3 packages at once in Kali Linux, run the following command:
for i in $ (pip3 list -o | awk 'NR> 2 {print $ 1}'); do sudo pip3 install -U $ i; done
To upgrade all Python 2 packages at once in Kali Linux, run the following command:
for i in $(pip2 list -o | awk 'NR > 3 {print $1}'); do sudo pip2 install -U $i; done
pip errors when upgrading Python 3 packages
But more precisely, most packages will be updated – some will not be updated due to various errors and warnings.
An example of a warning when the necessary dependency is missing:
python-debianbts 2.7.3 requires pysimplesoap!=1.16.2, which is not installed.
That is, the python-debianbts package requires pysimplesoap, which is not installed. Solving the problem – just install the missing dependency with a command like this:
sudo pip3 install package_name
for example
sudo pip3 install pysimplesoap
If the problem is with the package for Python 2, then use the appropriate version of pip:
sudo pip2 install package_name
When install all dependencies, run the command to update all packages again to reinstall packages that could not be updated.
An example of another warning in which distutils is mentioned:
Cannot uninstall 'AdvancedHTTPServer'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
The message says that you cannot delete the AdvancedHTTPServer, because it is part of the installed distutils and it is impossible to determine exactly which files belong to it.
You can simply skip the updates of these packages – that is, do nothing.
If you wish to upgrade these packages, use the --ignore-installed option in the command:
sudo pip3 install package_name --ignore-installed
For example, to update AdvancedHTTPServer:
sudo pip3 install AdvancedHTTPServer -U --ignore-installed
If the package is for Python2, then use pip2:
sudo pip2 install package_name --ignore-installed
I also had several other errors, mainly when building packages due to the lack of necessary files. The reason most often is that the necessary dependency is not installed (different headers for compilation). Such errors need to be solved individually – look at which file is missing, look for which package it belongs to, install this package and re-launch the update.
For example:
…………………. copying cairo/py.typed -> build/lib.linux-x86_64-3.6/cairo running build_ext 'pkg-config' not found. Command ['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1'] ---------------------------------------- Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-cyohyrgs/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-y_v2ezqy/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-cyohyrgs/pycairo/
says that pkg-config is not found, install it:
sudo apt install -y pkg-config
Message:
creating build creating build/temp.linux-x86_64-3.6 x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION="1.9.74" -I/usr/include/python3.6m -c cupsmodule.c -o build/temp.linux-x86_64-3.6/cupsmodule.o cupsmodule.c:23:10: fatal error: cups/cups.h: Нет такого файла или каталога #include <cups/cups.h> ^~~~~~~~~~~~~ compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ---------------------------------------- Failed building wheel for pycups
says that the cups/cups.h file is missing, this file is in the libcups2-dev package, install it:
sudo apt install libcups2-dev
Error ‘fatal error: libsmbclient.h: no such file or folder‘:
copying smbc/__init__.py -> build/lib.linux-x86_64-3.6/smbc running build_ext building '_smbc' extension creating build/temp.linux-x86_64-3.6 creating build/temp.linux-x86_64-3.6/smbc x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -c smbc/smbcmodule.c -o build/temp.linux-x86_64-3.6/smbc/smbcmodule.o In file included from smbc/smbcmodule.c:30: smbc/smbcmodule.h:27:10: fatal error: libsmbclient.h: Нет такого файла или каталога #include ^~~~~~~~~~~~~~~~ compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ---------------------------------------- Failed building wheel for pysmbc
You need to install the libsmbclient-dev package that contains the required libsmbclient.h file.
sudo apt install libsmbclient-dev
Error Message ‘No package 'cairo' found’:
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-og2c2qf9/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-yttz5smu --python-tag cp36: running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/cairo copying cairo/__init__.py -> build/lib.linux-x86_64-3.6/cairo copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.6/cairo copying cairo/py.typed -> build/lib.linux-x86_64-3.6/cairo running build_ext Package cairo was not found in the pkg-config search path. Perhaps you should add the directory containing `cairo.pc' to the PKG_CONFIG_PATH environment variable No package 'cairo' found Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1']' returned non-zero exit status 1.
To solve the problem, install the packages:
sudo apt install libcairo2-dev libjpeg-dev libgif-dev
Error ‘OSError: mysql_config not found’:
…………………….. Complete output from command python setup.py egg_info: /bin/sh: 1: mysql_config: not found Traceback (most recent call last): File "", line 1, in File "/tmp/pip-install-_a5c_n1z/mysqlclient/setup.py", line 16, in metadata, options = get_config() File "/tmp/pip-install-_a5c_n1z/mysqlclient/setup_posix.py", line 53, in get_config libs = mysql_config("libs_r") File "/tmp/pip-install-_a5c_n1z/mysqlclient/setup_posix.py", line 28, in mysql_config raise EnvironmentError("%s not found" % (mysql_config.path,)) OSError: mysql_config not found
To resolve it:
sudo apt install libmariadbclient-dev
pip errors when upgrading Python 2 packages
Error ‘EnvironmentError: mysql_config not found’:
Complete output from command python setup.py egg_info: sh: 1: mysql_config: not found Traceback (most recent call last): File "", line 1, in File "/tmp/pip-build-A1nxJy/mysqlclient/setup.py", line 16, in metadata, options = get_config() File "setup_posix.py", line 53, in get_config libs = mysql_config("libs_r") File "setup_posix.py", line 28, in mysql_config raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not found ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-A1nxJy/mysqlclient/
To solve it, install default-libmysqlclient-dev:
sudo apt install default-libmysqlclient-dev
Error ‘fatal error: pcap.h: no such file’:
………………………………... building 'pcapy' extension creating build creating build/temp.linux-x86_64-2.7 x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-AjKZhf/python2.7-2.7.15=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c pcapdumper.cc -o build/temp.linux-x86_64-2.7/pcapdumper.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ pcapdumper.cc:11:10: fatal error: pcap.h: Нет такого файла или каталога #include ^~~~~~~~ compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ---------------------------------------- Failed building wheel for pcapy
Its reason is that the pcap.h file was not found, this file is contained in the libpcap-dev package. And to solve this problem you need to install this package.
sudo apt install libpcap-dev
Error ‘Could not run curl-config: [Errno 2] No such file or directory’:
……………………. Traceback (most recent call last): File "", line 1, in File "/tmp/pip-install-fNcabS/pycurl/setup.py", line 913, in ext = get_extension(sys.argv, split_extension_source=split_extension_source) File "/tmp/pip-install-fNcabS/pycurl/setup.py", line 582, in get_extension ext_config = ExtensionConfiguration(argv) File "/tmp/pip-install-fNcabS/pycurl/setup.py", line 99, in __init__ self.configure() File "/tmp/pip-install-fNcabS/pycurl/setup.py", line 227, in configure_unix raise ConfigurationError(msg) __main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-fNcabS/pycurl/
To solve it, install the packages:
sudo apt install libcurl4-openssl-dev libssl-dev
Error ‘possibly undefined macro: AC_PROG_LIBTOOL’:
……………………………….. configure.ac:47: error: possibly undefined macro: AC_PROG_LIBTOOL If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /usr/bin/autoconf failed with exit status: 1 Traceback (most recent call last): File "", line 1, in File "/tmp/pip-install-8JniC2/pylibemu/setup.py", line 244, in libraries = ["emu"] File "/usr/lib/python2.7/distutils/core.py", line 151, in setup dist.run_commands()
To fix it:
sudo apt install libtool
Error ‘fatal error: sqlite3.h: no such file or folder’:
building 'pysqlite2._sqlite' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/src x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-AjKZhf/python2.7-2.7.15=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DMODULE_NAME="pysqlite2.dbapi2" -IPackage -Isqlite3 -Iwas -Inot -Ifound -Iin -Ithe -Ipkg-config -Isearch -Ipath. -IPerhaps -Iyou -Ishould -Iadd -Ithe -Idirectory -Icontaining -I`sqlite3.pc' -Ito -Ithe -IPKG_CONFIG_PATH -Ienvironment -Ivariable -INo -Ipackage -I'sqlite3' -Ifound -I/usr/include/python2.7 -c src/module.c -o build/temp.linux-x86_64-2.7/src/module.o In file included from src/module.c:24: src/connection.h:33:10: fatal error: sqlite3.h: Нет такого файла или каталога #include "sqlite3.h" ^~~~~~~~~~~ compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ----------------------------------------
To fix it, install the package:
sudo apt install libsqlite3-dev
Error ‘No package 'gtk+-3.0' found’:
……………… checking for GTK+ - version >= 3.0.0... Package gtk+-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-3.0' found no *** Could not run GTK+ test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact error that occured. This usually means GTK+ is incorrectly installed. configure: error: The development files for GTK+ were not found. For GTK+ 2, please ensure that pkg-config is in the path and that gtk+-2.0.pc is installed. For GTK+ 1.2 please check that gtk-config is in the path, and that the version is 1.2.3 or above. Also check that the libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config --libs' are in the LD_LIBRARY_PATH or equivalent. Error running configure ERROR: failed building wxWidgets Traceback (most recent call last): File "build.py", line 1321, in cmd_build_wx wxbuild.main(wxDir(), build_options) File "/tmp/pip-install-_LJgZR/wxPython/buildtools/build_wxwidgets.py", line 375, in main "Error running configure") File "/tmp/pip-install-_LJgZR/wxPython/buildtools/build_wxwidgets.py", line 85, in exitIfError raise builder.BuildError(msg) BuildError Finished command: build_wx (3.554s) Finished command: build (3.554s) Command '"/usr/bin/python" -u build.py build' failed with exit code 1.
To fix it, install the following packages:
sudo apt install build-essential libgtk-3-dev
The message ‘You are using pip version …, however version … is available.’
If using pip3 and pip2, messages like this occur:
You are using pip version ..., however version ... is available. You should consider upgrading via the 'pip install --upgrade pip' command.
That means you need to update the version of pip itself.
To update pip3:
pip3 install --upgrade pip
To update pip2
pip2 install --upgrade pip
Related articles:
- Kali Linux post-installation tips and settings (100%)
- How to install Python and PIP on Windows 10. How to set up Python as a web server module (58.8%)
- How to update Kali Linux (50.8%)
- How to replace Default Desktop Environment with Cinnamon in Kali Linux (50.8%)
- How to configure Kali Linux to use a static IP address (50.8%)
- Linux directory structure. Important Linux files (RANDOM - 9.6%)
guy this aint useful to a newbie in kali linux my advise is that you make a revised edition on this post
If ones do not know for what to upgrade Python packages, just skip this note. This tutorial is just not intended for newbie.
dirhunt
Traceback (most recent call last):
File "/usr/local/bin/dirhunt", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3250, in <module>
@_call_aside
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3234, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3263, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 583, in _build_master
ws.require(__requires__)
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 900, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 786, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'maxminddb>=1.5.2' distribution was not found and is required by geoip2
TypeError: coercing to Unicode: need string or buffer, int found
Any clue about this error? I am trying to update python in Kali linux installed on windows 10
What commands do you run to get these errors?
Output:
Your question is not relevant to this article, you have problems caused by an interrupted installation/update or another reason that did not allow the package installation to complete correctly.
Pay attention to the line:
To fix, try the command:
You can ask other questions related to installing and updating packages in the comments to this article.
─# apt install -f -y
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages were automatically installed and are no longer required:
libllvm10 libperl5.30 libpython3.8 libpython3.8-dev libre2-8 libxcb-util0 perl-modules-5.30 python3.8-dev
Use 'apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
602 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up python3 (3.9.0-4) …
running python rtupdate hooks for python3.9…
/usr/share/legion/ui/models/cvemodels.py:55: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if not len(self.__cves) is 0:
/usr/share/legion/ui/models/hostmodels.py:43: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if not len(self.__hosts) is 0:
/usr/share/legion/ui/models/processmodels.py:43: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if not len(self.__processes) is 0:
/usr/share/legion/ui/models/scriptmodels.py:44: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if not len(self.__scripts) is 0:
/usr/share/legion/ui/models/servicemodels.py:40: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if not len(self.__services) is 0:
/usr/share/legion/ui/models/servicemodels.py:184: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if not len(self.__serviceNames) is 0:
/usr/share/responder/settings.py:209: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if len(self.NumChal) is not 16 and not "random":
/usr/share/responder/tools/MultiRelay.py:418: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if data.find("NTLM") is not -1:
/usr/share/responder/tools/MultiRelay.py:423: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if data.find("NTLM") is not -1:
/usr/share/responder/tools/RunFingerPackets.py:14: SyntaxWarning: "is" with a literal. Did you mean "=="?
if PY2OR3 is "PY2":
[Errno 2] No such file or directory: '/usr/share/set/src/payloads/set_payloads/multi_pyinjector.py'
[Errno 2] No such file or directory: '/usr/share/set/src/payloads/set_payloads/pyinjector_args.py'
[Errno 2] No such file or directory: '/usr/share/set/src/payloads/set_payloads/shell.py'
error running python rtupdate hook set
[Errno 2] No such file or directory: '/usr/share/unicorn-magic/unicorn.py'
error running python rtupdate hook unicorn-magic
dpkg: error processing package python3 (--configure):
installed python3 package post-installation script subprocess returned error exit status 4
dpkg: dependency problems prevent configuration of python3-adblockparser:
python3-adblockparser depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-adblockparser (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-pyppeteer:
python3-pyppeteer depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-pyppeteer (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of king-phisher:
king-phisher depends on python3; however:
Package python3 is not configured yet.
dpkg: error processing package king-phisher (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-nbformat:
python3-nbformat depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-nbformat (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-sortedcontainers:
python3-sortedcontainers depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-sortedcontainers (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-tables:
python3-tables depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-tables (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-gitdb:
python3-gitdb depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-gitdb (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of dnschef:
dnschef depends on python3; however:
Package python3 is not configured yet.
dpkg: error processing package dnschef (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-zipp:
python3-zipp depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-zipp (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-opengl:
python3-opengl depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-opengl (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-click:
python3-click depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-click (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of weevely:
weevely depends on python3; however:
Package python3 is not configured yet.
dpkg: error processing package weevely (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-asysocks:
python3-asysocks depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-asysocks (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-aioconsole:
python3-aioconsole depends on python3:any; however:
Package python3 is not configured yet.
dpkg: error processing package python3-aioconsole (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of sparta-scripts:
E: Sub-process /usr/bin/dpkg returned an error code (1)
┌──(root💀DESKTOP-NF4O0MG)-[~]
└─#
Do you have any idea about below files like which package it belongs to
[Errno 2] No such file or directory: '/usr/share/set/src/payloads/set_payloads/multi_pyinjector.py'
[Errno 2] No such file or directory: '/usr/share/set/src/payloads/set_payloads/pyinjector_args.py'
[Errno 2] No such file or directory: '/usr/share/set/src/payloads/set_payloads/shell.py'
They belong to the ‘set’ package.
What did you do with your system to get this state?
After a fresh installation of Kali I ran below command. It ran for a long and errored. After that whatever I try to install the earlier mentioned files will come into picture as error.
sudo apt update && sudo apt -y full-upgrade
You can try to remove (temporally) python3.9 package:
Then:
Then:
Well, my problem is solved now. Thanks for your support. Seems the broken 3.9 version was the culprit.