Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can not pip install on python 3.7 #231

Closed
tingxin opened this issue Dec 29, 2023 · 1 comment
Closed

can not pip install on python 3.7 #231

tingxin opened this issue Dec 29, 2023 · 1 comment

Comments

@tingxin
Copy link

tingxin commented Dec 29, 2023

i lanuch a aws ec2 with python 3.7 and then:

pip install cython thriftpy2

output is here, cound anyone take a look :

Requirement already satisfied: cython in /home/ec2-user/pyevn/stat/lib/python3.7/site-packages (3.0.5)
Collecting thriftpy2
Using cached thriftpy2-0.4.17.tar.gz (519 kB)
Installing build dependencies ... done
WARNING: Missing build requirements in pyproject.toml for thriftpy2 from https://files.pythonhosted.org/packages/1d/5c/852a627317a75e0ec19f42b955ef115b0906c43ee4c7595c112a652f0b20/thriftpy2-0.4.17.tar.gz#sha256=190f35c32da9146d1fdd822f46b6a0ad543572ea405ca6853b4ec7b128efbc0d.
WARNING: The project does not specify a build backend, and pip cannot fall back to setuptools without 'wheel'.
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting ply<4.0,>=3.4
Using cached ply-3.11-py2.py3-none-any.whl (49 kB)
Requirement already satisfied: six~=1.15 in /home/ec2-user/pyevn/stat/lib/python3.7/site-packages (from thriftpy2) (1.16.0)
Building wheels for collected packages: thriftpy2
Building wheel for thriftpy2 (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for thriftpy2 (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [139 lines of output]
running bdist_wheel
The [wheel] section is deprecated. Use [bdist_wheel] instead.
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-37
creating build/lib.linux-x86_64-cpython-37/thriftpy2
copying thriftpy2/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2
copying thriftpy2/_compat.py -> build/lib.linux-x86_64-cpython-37/thriftpy2
copying thriftpy2/hook.py -> build/lib.linux-x86_64-cpython-37/thriftpy2
copying thriftpy2/http.py -> build/lib.linux-x86_64-cpython-37/thriftpy2
copying thriftpy2/rpc.py -> build/lib.linux-x86_64-cpython-37/thriftpy2
copying thriftpy2/server.py -> build/lib.linux-x86_64-cpython-37/thriftpy2
copying thriftpy2/thrift.py -> build/lib.linux-x86_64-cpython-37/thriftpy2
copying thriftpy2/tornado.py -> build/lib.linux-x86_64-cpython-37/thriftpy2
copying thriftpy2/utils.py -> build/lib.linux-x86_64-cpython-37/thriftpy2
creating build/lib.linux-x86_64-cpython-37/thriftpy2/contrib
copying thriftpy2/contrib/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib
creating build/lib.linux-x86_64-cpython-37/thriftpy2/parser
copying thriftpy2/parser/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/parser
copying thriftpy2/parser/exc.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/parser
copying thriftpy2/parser/lexer.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/parser
copying thriftpy2/parser/parser.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/parser
creating build/lib.linux-x86_64-cpython-37/thriftpy2/protocol
copying thriftpy2/protocol/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol
copying thriftpy2/protocol/apache_json.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol
copying thriftpy2/protocol/base.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol
copying thriftpy2/protocol/binary.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol
copying thriftpy2/protocol/compact.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol
copying thriftpy2/protocol/exc.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol
copying thriftpy2/protocol/json.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol
copying thriftpy2/protocol/multiplex.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol
creating build/lib.linux-x86_64-cpython-37/thriftpy2/transport
copying thriftpy2/transport/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport
copying thriftpy2/transport/_ssl.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport
copying thriftpy2/transport/base.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport
copying thriftpy2/transport/socket.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport
copying thriftpy2/transport/sslsocket.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport
creating build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio
copying thriftpy2/contrib/aio/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio
copying thriftpy2/contrib/aio/client.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio
copying thriftpy2/contrib/aio/processor.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio
copying thriftpy2/contrib/aio/rpc.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio
copying thriftpy2/contrib/aio/server.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio
copying thriftpy2/contrib/aio/socket.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio
creating build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/tracking
copying thriftpy2/contrib/tracking/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/tracking
copying thriftpy2/contrib/tracking/tracker.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/tracking
creating build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio/protocol
copying thriftpy2/contrib/aio/protocol/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio/protocol
copying thriftpy2/contrib/aio/protocol/base.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio/protocol
copying thriftpy2/contrib/aio/protocol/binary.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio/protocol
copying thriftpy2/contrib/aio/protocol/compact.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio/protocol
creating build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio/transport
copying thriftpy2/contrib/aio/transport/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio/transport
copying thriftpy2/contrib/aio/transport/base.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio/transport
copying thriftpy2/contrib/aio/transport/buffered.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio/transport
copying thriftpy2/contrib/aio/transport/framed.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/aio/transport
creating build/lib.linux-x86_64-cpython-37/thriftpy2/transport/buffered
copying thriftpy2/transport/buffered/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport/buffered
creating build/lib.linux-x86_64-cpython-37/thriftpy2/transport/framed
copying thriftpy2/transport/framed/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport/framed
creating build/lib.linux-x86_64-cpython-37/thriftpy2/transport/memory
copying thriftpy2/transport/memory/init.py -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport/memory
running egg_info
writing thriftpy2.egg-info/PKG-INFO
writing dependency_links to thriftpy2.egg-info/dependency_links.txt
writing requirements to thriftpy2.egg-info/requires.txt
writing top-level names to thriftpy2.egg-info/top_level.txt
reading manifest file 'thriftpy2.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'thriftpy2.egg-info/SOURCES.txt'
creating build/lib.linux-x86_64-cpython-37/thriftpy2/protocol/cybin
copying thriftpy2/protocol/cybin/cybin.c -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol/cybin
copying thriftpy2/protocol/cybin/cybin.pyx -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol/cybin
copying thriftpy2/protocol/cybin/endian_port.h -> build/lib.linux-x86_64-cpython-37/thriftpy2/protocol/cybin
copying thriftpy2/transport/cybase.c -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport
copying thriftpy2/transport/cybase.pxd -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport
copying thriftpy2/transport/cybase.pyx -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport
copying thriftpy2/contrib/tracking/tracking.thrift -> build/lib.linux-x86_64-cpython-37/thriftpy2/contrib/tracking
copying thriftpy2/transport/buffered/cybuffered.c -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport/buffered
copying thriftpy2/transport/buffered/cybuffered.pyx -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport/buffered
copying thriftpy2/transport/framed/cyframed.c -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport/framed
copying thriftpy2/transport/framed/cyframed.pyx -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport/framed
copying thriftpy2/transport/memory/cymemory.c -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport/memory
copying thriftpy2/transport/memory/cymemory.pyx -> build/lib.linux-x86_64-cpython-37/thriftpy2/transport/memory
running build_ext
building 'thriftpy2.transport.cybase' extension
creating build/temp.linux-x86_64-cpython-37
creating build/temp.linux-x86_64-cpython-37/thriftpy2
creating build/temp.linux-x86_64-cpython-37/thriftpy2/transport
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/home/ec2-user/pyevn/stat/include -I/usr/include/python3.7m -c thriftpy2/transport/cybase.c -o build/temp.linux-x86_64-cpython-37/thriftpy2/transport/cybase.o
thriftpy2/transport/cybase.c:29:10: fatal error: Python.h: No such file or directory
#include "Python.h"
^~~~~~~~~~
compilation terminated.
/tmp/pip-build-env-svupcb6c/overlay/lib/python3.7/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'thriftpy2.protocol.cybin' is absent from the packages configuration.
!!

          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'thriftpy2.protocol.cybin' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.
  
          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'thriftpy2.protocol.cybin' is explicitly added
          to the `packages` configuration field.
  
          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).
  
          You can read more about "package discovery" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
  
          If you don't want 'thriftpy2.protocol.cybin' to be distributed and are
          already explicitly excluding 'thriftpy2.protocol.cybin' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.
  
          You can read more about "package data files" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
  
  
          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************
  
  !!
    check.warn(importable)
  error: command '/usr/bin/gcc' failed with exit code 1
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for thriftpy2
Failed to build thriftpy2
ERROR: Could not build wheels for thriftpy2, which is required to install pyproject.toml-based projects

@aisk
Copy link
Member

aisk commented Dec 29, 2023

This is not related to thriftpy. Please search "Python.h: No such file or directory" on Google.

@aisk aisk closed this as completed Dec 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants