Installation fails because zlib is not installed
I am failing to install PyExFill with pip (pip install --user PyExfil) but it fails due to the following error:
➜ pip install --user PyExfil
Collecting PyExfil
Using cached PyExfil-1.10.4.tar.gz (5.2 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: requests>=1.0.0 in /home/oma/.pyenv/versions/3.11.2/lib/python3.11/site-packages (from PyExfil) (2.28.2)
Collecting impacket>=0.9.0 (from PyExfil)
Using cached impacket-0.11.0-py3-none-any.whl
Collecting slackclient (from PyExfil)
Using cached slackclient-2.9.4-py2.py3-none-any.whl (97 kB)
Requirement already satisfied: progressbar in /home/oma/.pyenv/versions/3.11.2/lib/python3.11/site-packages (from PyExfil) (2.5)
INFO: pip is looking at multiple versions of pyexfil to determine which version is compatible with other requirements. This could take a while.
Collecting PyExfil
Using cached PyExfil-1.3-py3-none-any.whl (2.5 kB)
ERROR: Cannot install pyexfil==1.10.4 and pyexfil==1.3 because these package versions have conflicting dependencies.
The conflict is caused by:
pyexfil 1.10.4 depends on zlib
pyexfil 1.3 depends on zlib
To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
The zlib library is a module from the standard library (link) and i have installed both packages (zlib1g zlib1g-dev) recommended by different stack overflow questions. So the requirement should be fulfilled.
Info about my system:
- Kali on WSL (Windows subsystem for Linux)
VERSION_ID="2023.3"
VERSION="2023.3"
VERSION_CODENAME=kali-rolling
- Python version:
Python 3.11.2
Hey @MagnusOffermanns . Thanks for this.
Issue was supposed to be fixed on Python3 due to requirements3.txt. Python2 does need the zlib import but on 3 it's built in. Can you kindly confirm?
Unfortunately, I am still encountering the problem. I am installing PyExfill in a new environment.
I have updated my Python to:
- Python 3.11.9
Bump. I'm having this same issue trying to pip install the package.
Hey, there's still the same error with zlib ?? I'm trying to solve it but i can't find a solution. @ytisf is there a solution ??
same for me
Any solutions yet ?
Hey. This should be fixed in commit 6505180. Would love to hear your feedback on how to mark this.
Hey, I saw the comment in Documentation.md, the problem is still persisting when using pip.
as for compiling from the source code I have met several problems.
-
requirement3.txt > "pyobjc-framework-Quartz" causes a problem for debian based machines as it is for macOS (the requirements installation works if it's manually removed from the files)
-
the setup.py is deprecated in 3.12: (testpyexfil) bato@bato-HP-ENVY-x360-2-in-1-Laptop-15-ew0xxx:~/testpyexfil/PyExfil$ python setup.py install Warning: 'classifiers' should be a list, got type 'tuple' /home/bato/testpyexfil/lib/python3.12/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !!
******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v3 (GPLv3) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ********************************************************************************
!! self._finalize_license_expression() running install /home/bato/testpyexfil/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. !!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
By 2025-Oct-31, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!! self.initialize_options() running build running build_py copying pyexfil/init.py -> build/lib/pyexfil running install_lib running install_egg_info running egg_info writing PyExfil.egg-info/PKG-INFO writing dependency_links to PyExfil.egg-info/dependency_links.txt writing requirements to PyExfil.egg-info/requires.txt writing top-level names to PyExfil.egg-info/top_level.txt reading manifest file 'PyExfil.egg-info/SOURCES.txt' adding license file 'LICENSE.md' writing manifest file 'PyExfil.egg-info/SOURCES.txt' removing '/home/bato/testpyexfil/lib/python3.12/site-packages/PyExfil-1.3.3-py3.12.egg-info' (and everything under it) Copying PyExfil.egg-info to /home/bato/testpyexfil/lib/python3.12/site-packages/PyExfil-1.3.3-py3.12.egg-info running install_script