PyExfil icon indicating copy to clipboard operation
PyExfil copied to clipboard

Installation fails because zlib is not installed

Open MagnusOffermanns opened this issue 2 years ago • 8 comments

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

MagnusOffermanns avatar Nov 16 '23 09:11 MagnusOffermanns

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?

ytisf avatar Jul 17 '24 02:07 ytisf

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

image

MagnusOffermanns avatar Jul 20 '24 13:07 MagnusOffermanns

Bump. I'm having this same issue trying to pip install the package.

nitsewg avatar Sep 11 '24 19:09 nitsewg

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 ??

brunoLucenaSiles avatar Jan 16 '25 18:01 brunoLucenaSiles

same for me

cookpoo78 avatar Feb 27 '25 10:02 cookpoo78

Any solutions yet ?

TBAcikbas avatar Jul 02 '25 09:07 TBAcikbas

Hey. This should be fixed in commit 6505180. Would love to hear your feedback on how to mark this.

ytisf avatar Jul 02 '25 14:07 ytisf

Hey, I saw the comment in Documentation.md, the problem is still persisting when using pip.

Image

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

TBAcikbas avatar Jul 02 '25 15:07 TBAcikbas