Exodus-Privacy / exodus-core

Core functionality of εxodus
GNU Affero General Public License v3.0
18 stars 17 forks source link

update requirements.txt and setup.py for python 3.9 #45

Closed counter-reverse closed 2 years ago

counter-reverse commented 3 years ago

The command pip install -r requirements.txt works for virtualenv with version 3.5. It does not with 3.9. python 3.5 is also going to be deprecated. See the warning DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality..

I have put the logs of the errors.

gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/usr/local/include/python3.9 -c src/lxml/etree.c -o build/temp.linux-x86_64-3.9/src/lxml/etree.o -w
  src/lxml/etree.c: In function ‘__Pyx_modinit_type_init_code’:
  src/lxml/etree.c:231155:32: error: ‘PyTypeObject {aka struct _typeobject}’ has no member named ‘tp_print’; did you mean ‘tp_dict’?
     __pyx_type_4lxml_5etree_Error.tp_print = 0;
                                  ^
  src/lxml/etree.c:231163:36: error: ‘PyTypeObject {aka struct _typeobject}’ has no member named ‘tp_print’; did you mean ‘tp_dict’?
     __pyx_type_4lxml_5etree_LxmlError.tp_print = 0;

For the moment, if you met a similar issue, you can skip with virtualenv --python=/usr/bin/python3.5 venv-3-5 instead of virtualenv venv -p python3 on the build instruction of the exodus core readme.md.

pnu-s commented 3 years ago

Hi @counter-reverse

Are you sure you are using python 3.9?

I don't see any reasons why the file requirements.txt should be linked to any version of python, and neither why you get a message about python3.5 if you are using 3.9.

I don't have any errors installing the dependencies in python 3.8.5 btw.

burkhardtc commented 3 years ago

There is no dependency on Python.

If you own a newer Distribution you already have newer versions of the components installed. For instance on Debian Bullseye the Pillow version is 8.1.0.

apt-cache policy python3-pil
       8.1.0
         debian bullsey
         debian sid
      5.4.1
        buster

Therefore I could solve it by increasing the version in requirements.txt. I got the solution by changing Pillow>=6.2.2 from Pillow==6.2.2.

burkhardtc commented 3 years ago

In the file requirements.txt components like Pillow have dependencies which only support some versions of python:

Pillow supports these python versions: pillow.readthedocs.io/en/stable/installation.html#python-support

counter-reverse commented 3 years ago

@pnu-s I am confused. I posted this issue because I used to be sure that we must update the requirements.txt.

@burkhardtc Do you want to be assigned or do you prefer that I do it?

Thank you very much.

burkhardtc commented 3 years ago

@counter-reverse Please feel free to do the right tings ;-) I would prefer following requirements.txt because it works for me.

androguard>=3.1.0
cryptography>=2.3.4
dhash>=1.3
jellyfish>=0.5.6
Pillow>=5.4.1
requests>=2.12.0
six>=1.10.0
traitlets>=4.3.2
Jean-BaptisteC commented 2 years ago

Same problem on Ubuntu Server 21.10 with pillow 6.2.2 `ERROR: Command errored out with exit status 1: command: /root/exodus-standalone/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ra7tnic5/pillow_84aae9e847374b2c9746d3e9525956e4/setup.py'"'"'; file='"'"'/tmp/pip-install-ra7tnic5/pillow_84aae9e847374b2c9746d3e9525956e4/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-k7dwqozc cwd: /tmp/pip-install-ra7tnic5/pillow_84aae9e847374b2c9746d3e9525956e4/ Complete output (172 lines): running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-3.9 creating build/lib.linux-x86_64-3.9/PIL copying src/PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageSequence.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/BdfFontFile.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageMode.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/_util.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/CurImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/init.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/GdImageFile.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PaletteFile.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageTk.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageFilter.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PcfFontFile.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageColor.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageOps.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImagePath.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageWin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageFile.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageGrab.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/main.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PngImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageDraw2.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/FontFile.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/BlpImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/_tkinter_finder.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/JpegPresets.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageChops.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/_binary.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageCms.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageStat.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageEnhance.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/TiffTags.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageMorph.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/_version.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PyAccess.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageDraw.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ExifTags.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/GimpGradientFile.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PSDraw.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/FliImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/GifImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/features.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/TarIO.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageQt.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ContainerIO.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageFont.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PdfParser.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageMath.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/Image.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageTransform.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImagePalette.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/WalImageFile.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/MicImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImageShow.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/SunImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/MspImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/ImImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL copying src/PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL running egg_info writing src/Pillow.egg-info/PKG-INFO writing dependency_links to src/Pillow.egg-info/dependency_links.txt writing top-level names to src/Pillow.egg-info/top_level.txt reading manifest file 'src/Pillow.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '.c' warning: no files found matching '.h' warning: no files found matching '.sh' warning: no previously-included files found matching '.appveyor.yml' warning: no previously-included files found matching '.coveragerc' warning: no previously-included files found matching '.codecov.yml' warning: no previously-included files found matching '.editorconfig' warning: no previously-included files found matching '.readthedocs.yml' warning: no previously-included files found matching 'azure-pipelines.yml' warning: no previously-included files matching '.git' found anywhere in distribution warning: no previously-included files matching '.pyc' found anywhere in distribution warning: no previously-included files matching '.so' found anywhere in distribution no previously-included directories found matching '.azure-pipelines' no previously-included directories found matching '.travis' writing manifest file 'src/Pillow.egg-info/SOURCES.txt' running build_ext

The headers or library files could not be found for jpeg, a required dependency when compiling Pillow from source.

Please see the install instructions at: https://pillow.readthedocs.io/en/latest/installation.html

Traceback (most recent call last): File "/tmp/pip-install-ra7tnic5/pillow_84aae9e847374b2c9746d3e9525956e4/setup.py", line 852, in setup( File "/root/exodus-standalone/venv/lib/python3.9/site-packages/setuptools/init.py", line 162, in setup return distutils.core.setup(**attrs) File "/usr/lib/python3.9/distutils/core.py", line 148, in setup dist.run_commands() File "/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands self.run_command(cmd) File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/root/exodus-standalone/venv/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 223, in run self.run_command('build') File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/usr/lib/python3.9/distutils/command/build.py", line 135, in run self.run_command(cmd_name) File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/usr/lib/python3.9/distutils/command/build_ext.py", line 340, in run self.build_extensions() File "/tmp/pip-install-ra7tnic5/pillow_84aae9e847374b2c9746d3e9525956e4/setup.py", line 687, in build_extensions raise RequiredDependencyException(f) main.RequiredDependencyException: jpeg

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "", line 1, in File "/tmp/pip-install-ra7tnic5/pillow_84aae9e847374b2c9746d3e9525956e4/setup.py", line 903, in raise RequiredDependencyException(msg) main.RequiredDependencyException:

The headers or library files could not be found for jpeg, a required dependency when compiling Pillow from source.

Please see the install instructions at: https://pillow.readthedocs.io/en/latest/installation.html


ERROR: Failed building wheel for Pillow`