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

Error when install fitsio on linux, both 'pip install fitsio' and 'python setup.py install' failed. #406

Open
Sherlockids opened this issue Jul 15, 2024 · 5 comments

Comments

@Sherlockids
Copy link

  1. Firstly, I used the 'pip install fitsio', failed.
    Collecting fitsio
    Downloading fitsio-1.2.4.tar.gz (4.5 MB)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 8.6 MB/s eta 0:00:00
    Preparing metadata (setup.py) ... done
    Requirement already satisfied: numpy in ./anaconda3/lib/python3.11/site-packages (from fitsio) (1.26.4)
    Building wheels for collected packages: fitsio
    Building wheel for fitsio (setup.py) ... error
    error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [191 lines of output]
/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/init.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!

          ********************************************************************************
          Requirements should be satisfied by a PEP 517 installer.
          If you are using pip, you can try `pip install --use-pep517`.
          ********************************************************************************

  !!
    dist.fetch_build_eggs(dist.setup_requires)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-cpython-311
  creating build/lib.linux-x86_64-cpython-311/fitsio
  copying fitsio/__init__.py -> build/lib.linux-x86_64-cpython-311/fitsio
  copying fitsio/fits_exceptions.py -> build/lib.linux-x86_64-cpython-311/fitsio
  copying fitsio/fitslib.py -> build/lib.linux-x86_64-cpython-311/fitsio
  copying fitsio/header.py -> build/lib.linux-x86_64-cpython-311/fitsio
  copying fitsio/util.py -> build/lib.linux-x86_64-cpython-311/fitsio
  creating build/lib.linux-x86_64-cpython-311/fitsio/hdu
  copying fitsio/hdu/__init__.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
  copying fitsio/hdu/base.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
  copying fitsio/hdu/image.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
  copying fitsio/hdu/table.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
  creating build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/__init__.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/checks.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/makedata.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/test_empty_slice.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/test_header.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/test_header_junk.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/test_image.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/test_image_compression.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/test_lib.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/test_table.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  copying fitsio/tests/test_warnings.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
  running egg_info
  writing fitsio.egg-info/PKG-INFO
  writing dependency_links to fitsio.egg-info/dependency_links.txt
  writing requirements to fitsio.egg-info/requires.txt
  writing top-level names to fitsio.egg-info/top_level.txt
  reading manifest file 'fitsio.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  adding license file 'LICENSE.txt'
  writing manifest file 'fitsio.egg-info/SOURCES.txt'
  /home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'fitsio.test_images' is absent from the `packages` configuration.
  !!

          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'fitsio.test_images' 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 'fitsio.test_images' 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 'fitsio.test_images' to be distributed and are
          already explicitly excluding 'fitsio.test_images' 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)
  copying fitsio/fitsio_pywrap.c -> build/lib.linux-x86_64-cpython-311/fitsio
  creating build/lib.linux-x86_64-cpython-311/fitsio/test_images
  copying fitsio/test_images/test_gzip_compressed_image.fits.fz -> build/lib.linux-x86_64-cpython-311/fitsio/test_images
  running build_ext
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/Makefile.in
  Hunk #1 succeeded at 70 (offset 1 line).
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/Makefile.in
  Hunk #1 succeeded at 70 (offset 1 line).
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure.in
  Hunk #1 succeeded at 129 (offset 76 lines).
  Hunk #2 succeeded at 153 (offset 76 lines).
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure.in
  Hunk #1 succeeded at 129 (offset 76 lines).
  Hunk #2 succeeded at 153 (offset 76 lines).
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure
  Hunk #3 succeeded at 3787 (offset 1162 lines).
  Hunk #4 succeeded at 3816 with fuzz 1 (offset 1162 lines).
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure
  Hunk #3 succeeded at 3787 (offset 1162 lines).
  Hunk #4 succeeded at 3816 with fuzz 1 (offset 1162 lines).
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitscore.c
  Hunk #1 succeeded at 197 (offset 3 lines).
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitscore.c
  Hunk #1 succeeded at 197 (offset 3 lines).
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio.h
  Hunk #1 succeeded at 810 (offset -1 lines).
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio.h
  Hunk #1 succeeded at 810 (offset -1 lines).
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio2.h
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio2.h
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/putcols.c
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/putcols.c
  checking build system type... x86_64-pc-linux-gnu
  checking host system type... x86_64-pc-linux-gnu
  checking target system type... x86_64-pc-linux-gnu
  checking for gcc... gcc
  checking whether the C compiler works... yes
  checking for C compiler default output file name... a.out
  checking for suffix of executables...
  checking whether we are cross compiling... no
  checking for suffix of object files... o
  checking whether the compiler supports GNU C... yes
  checking whether gcc accepts -g... yes
  checking for gcc option to enable C11 features... none needed
  checking for stdio.h... yes
  checking for stdlib.h... yes
  checking for string.h... yes
  checking for inttypes.h... yes
  checking for stdint.h... yes
  checking for strings.h... yes
  checking for sys/stat.h... yes
  checking for sys/types.h... yes
  checking for unistd.h... yes
  checking for main in -lbz2... no
  configure: error: Unable to locate bz2 library needed when enabling bzip2 support; try specifying the path
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/tmp/pip-install-twz00puu/fitsio_237768f247e445c2ba8dd3ab773726fb/setup.py", line 319, in <module>
      setup(
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
      dist.run_commands()
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/wheel/bdist_wheel.py", line 364, in run
      self.run_command("build")
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 131, in run
      self.run_command(cmd_name)
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-twz00puu/fitsio_237768f247e445c2ba8dd3ab773726fb/setup.py", line 106, in run
      build_ext.run(self)
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 88, in run
      _build_ext.run(self)
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
      _build_ext.build_ext.run(self)
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
      self.build_extensions()
    File "/tmp/pip-install-twz00puu/fitsio_237768f247e445c2ba8dd3ab773726fb/setup.py", line 130, in build_extensions
      self.configure_cfitsio(
    File "/tmp/pip-install-twz00puu/fitsio_237768f247e445c2ba8dd3ab773726fb/setup.py", line 272, in configure_cfitsio
      raise ValueError(
  ValueError: could not configure cfitsio 4.4.1-20240617
  [end of output]

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

2.Then, I used the 'python setup.py install', failed agian.

/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/init.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!

    ********************************************************************************
    Requirements should be satisfied by a PEP 517 installer.
    If you are using pip, you can try `pip install --use-pep517`.
    ********************************************************************************

!!
dist.fetch_build_eggs(dist.setup_requires)
running install
/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

    ********************************************************************************
    Please avoid running ``setup.py`` directly.
    Instead, use pypa/build, pypa/installer or other
    standards-based tools.

    See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
    ********************************************************************************

!!
self.initialize_options()
/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!

    ********************************************************************************
    Please avoid running ``setup.py`` and ``easy_install``.
    Instead, use pypa/build, pypa/installer or other
    standards-based tools.

    See https://github.com/pypa/setuptools/issues/917 for details.
    ********************************************************************************

!!
self.initialize_options()
running bdist_egg
running egg_info
creating fitsio.egg-info
writing fitsio.egg-info/PKG-INFO
writing dependency_links to fitsio.egg-info/dependency_links.txt
writing requirements to fitsio.egg-info/requires.txt
writing top-level names to fitsio.egg-info/top_level.txt
writing manifest file 'fitsio.egg-info/SOURCES.txt'
reading manifest file 'fitsio.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'fitsio.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-cpython-311
creating build/lib.linux-x86_64-cpython-311/fitsio
copying fitsio/init.py -> build/lib.linux-x86_64-cpython-311/fitsio
copying fitsio/fits_exceptions.py -> build/lib.linux-x86_64-cpython-311/fitsio
copying fitsio/fitslib.py -> build/lib.linux-x86_64-cpython-311/fitsio
copying fitsio/header.py -> build/lib.linux-x86_64-cpython-311/fitsio
copying fitsio/util.py -> build/lib.linux-x86_64-cpython-311/fitsio
creating build/lib.linux-x86_64-cpython-311/fitsio/hdu
copying fitsio/hdu/init.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
copying fitsio/hdu/base.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
copying fitsio/hdu/image.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
copying fitsio/hdu/table.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
creating build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/init.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/checks.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/makedata.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_empty_slice.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_header.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_header_junk.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_image.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_image_compression.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_lib.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_table.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_warnings.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'fitsio.test_images' is absent from the packages configuration.
!!

    ********************************************************************************
    ############################
    # Package would be ignored #
    ############################
    Python recognizes 'fitsio.test_images' 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 'fitsio.test_images' 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 'fitsio.test_images' to be distributed and are
    already explicitly excluding 'fitsio.test_images' 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)
copying fitsio/fitsio_pywrap.c -> build/lib.linux-x86_64-cpython-311/fitsio
creating build/lib.linux-x86_64-cpython-311/fitsio/test_images
copying fitsio/test_images/test_gzip_compressed_image.fits.fz -> build/lib.linux-x86_64-cpython-311/fitsio/test_images
running build_ext
checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/Makefile.in
Hunk #1 succeeded at 70 (offset 1 line).
patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/Makefile.in
Hunk #1 succeeded at 70 (offset 1 line).
checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure.in
Hunk #1 succeeded at 129 (offset 76 lines).
Hunk #2 succeeded at 153 (offset 76 lines).
patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure.in
Hunk #1 succeeded at 129 (offset 76 lines).
Hunk #2 succeeded at 153 (offset 76 lines).
checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure
Hunk #3 succeeded at 3787 (offset 1162 lines).
Hunk #4 succeeded at 3816 with fuzz 1 (offset 1162 lines).
patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure
Hunk #3 succeeded at 3787 (offset 1162 lines).
Hunk #4 succeeded at 3816 with fuzz 1 (offset 1162 lines).
checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitscore.c
Hunk #1 succeeded at 197 (offset 3 lines).
patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitscore.c
Hunk #1 succeeded at 197 (offset 3 lines).
checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio.h
Hunk #1 succeeded at 810 (offset -1 lines).
patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio.h
Hunk #1 succeeded at 810 (offset -1 lines).
checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio2.h
patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio2.h
checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/putcols.c
patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/putcols.c
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for main in -lbz2... no
configure: error: Unable to locate bz2 library needed when enabling bzip2 support; try specifying the path
Traceback (most recent call last):
File "/home/wenlk/Downloads/fitsio/setup.py", line 319, in
setup(
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/init.py", line 103, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
super().run_command(command)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/command/install.py", line 84, in run
self.do_egg_install()
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/command/install.py", line 132, in do_egg_install
self.run_command('bdist_egg')
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
super().run_command(command)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/command/bdist_egg.py", line 167, in run
cmd = self.call_command('install_lib', warn_dir=0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/command/bdist_egg.py", line 153, in call_command
self.run_command(cmdname)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
super().run_command(command)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/command/install_lib.py", line 11, in run
self.build()
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/command/install_lib.py", line 111, in build
self.run_command('build_ext')
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
super().run_command(command)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/home/wenlk/Downloads/fitsio/setup.py", line 106, in run
build_ext.run(self)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 88, in run
_build_ext.run(self)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/home/wenlk/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
self.build_extensions()
File "/home/wenlk/Downloads/fitsio/setup.py", line 130, in build_extensions
self.configure_cfitsio(
File "/home/wenlk/Downloads/fitsio/setup.py", line 272, in configure_cfitsio
raise ValueError(
ValueError: could not configure cfitsio 4.4.1-20240617

@Sherlockids
Copy link
Author

  1. I also tried the 'pip install --use-pep517 fitsio', but still failed.
    Collecting fitsio
    Using cached fitsio-1.2.4.tar.gz (4.5 MB)
    Installing build dependencies ... done
    Getting requirements to build wheel ... done
    Installing backend dependencies ... done
    Preparing metadata (pyproject.toml) ... done
    Requirement already satisfied: numpy in /home/wenlk/anaconda3/lib/python3.11/site-packages (from fitsio) (1.24.4)
    Building wheels for collected packages: fitsio
    Building wheel for fitsio (pyproject.toml) ... error
    error: subprocess-exited-with-error

× Building wheel for fitsio (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [190 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-311
creating build/lib.linux-x86_64-cpython-311/fitsio
copying fitsio/init.py -> build/lib.linux-x86_64-cpython-311/fitsio
copying fitsio/fits_exceptions.py -> build/lib.linux-x86_64-cpython-311/fitsio
copying fitsio/fitslib.py -> build/lib.linux-x86_64-cpython-311/fitsio
copying fitsio/header.py -> build/lib.linux-x86_64-cpython-311/fitsio
copying fitsio/util.py -> build/lib.linux-x86_64-cpython-311/fitsio
creating build/lib.linux-x86_64-cpython-311/fitsio/hdu
copying fitsio/hdu/init.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
copying fitsio/hdu/base.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
copying fitsio/hdu/image.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
copying fitsio/hdu/table.py -> build/lib.linux-x86_64-cpython-311/fitsio/hdu
creating build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/init.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/checks.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/makedata.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_empty_slice.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_header.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_header_junk.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_image.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_image_compression.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_lib.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_table.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
copying fitsio/tests/test_warnings.py -> build/lib.linux-x86_64-cpython-311/fitsio/tests
running egg_info
writing fitsio.egg-info/PKG-INFO
writing dependency_links to fitsio.egg-info/dependency_links.txt
writing requirements to fitsio.egg-info/requires.txt
writing top-level names to fitsio.egg-info/top_level.txt
reading manifest file 'fitsio.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'fitsio.egg-info/SOURCES.txt'
/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'fitsio.test_images' is absent from the packages configuration.
!!

          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'fitsio.test_images' 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 'fitsio.test_images' 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 'fitsio.test_images' to be distributed and are
          already explicitly excluding 'fitsio.test_images' 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)
  copying fitsio/fitsio_pywrap.c -> build/lib.linux-x86_64-cpython-311/fitsio
  creating build/lib.linux-x86_64-cpython-311/fitsio/test_images
  copying fitsio/test_images/test_gzip_compressed_image.fits.fz -> build/lib.linux-x86_64-cpython-311/fitsio/test_images
  running build_ext
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/Makefile.in
  Hunk #1 succeeded at 70 (offset 1 line).
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/Makefile.in
  Hunk #1 succeeded at 70 (offset 1 line).
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure.in
  Hunk #1 succeeded at 129 (offset 76 lines).
  Hunk #2 succeeded at 153 (offset 76 lines).
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure.in
  Hunk #1 succeeded at 129 (offset 76 lines).
  Hunk #2 succeeded at 153 (offset 76 lines).
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure
  Hunk #3 succeeded at 3787 (offset 1162 lines).
  Hunk #4 succeeded at 3816 with fuzz 1 (offset 1162 lines).
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/configure
  Hunk #3 succeeded at 3787 (offset 1162 lines).
  Hunk #4 succeeded at 3816 with fuzz 1 (offset 1162 lines).
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitscore.c
  Hunk #1 succeeded at 197 (offset 3 lines).
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitscore.c
  Hunk #1 succeeded at 197 (offset 3 lines).
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio.h
  Hunk #1 succeeded at 810 (offset -1 lines).
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio.h
  Hunk #1 succeeded at 810 (offset -1 lines).
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio2.h
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/fitsio2.h
  checking file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/putcols.c
  patching file build/temp.linux-x86_64-cpython-311/cfitsio-4.4.1-20240617/putcols.c
  checking build system type... x86_64-pc-linux-gnu
  checking host system type... x86_64-pc-linux-gnu
  checking target system type... x86_64-pc-linux-gnu
  checking for gcc... gcc
  checking whether the C compiler works... yes
  checking for C compiler default output file name... a.out
  checking for suffix of executables...
  checking whether we are cross compiling... no
  checking for suffix of object files... o
  checking whether the compiler supports GNU C... yes
  checking whether gcc accepts -g... yes
  checking for gcc option to enable C11 features... none needed
  checking for stdio.h... yes
  checking for stdlib.h... yes
  checking for string.h... yes
  checking for inttypes.h... yes
  checking for stdint.h... yes
  checking for strings.h... yes
  checking for sys/stat.h... yes
  checking for sys/types.h... yes
  checking for unistd.h... yes
  checking for main in -lbz2... no
  configure: error: Unable to locate bz2 library needed when enabling bzip2 support; try specifying the path
  Traceback (most recent call last):
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/wenlk/anaconda3/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 415, in build_wheel
      return self._build_with_temp_dir(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 397, in _build_with_temp_dir
      self.run_setup()
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 497, in run_setup
      super().run_setup(setup_script=setup_script)
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 313, in run_setup
      exec(code, locals())
    File "<string>", line 319, in <module>
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 184, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
      dist.run_commands()
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 970, in run_commands
      self.run_command(cmd)
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 974, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/command/bdist_wheel.py", line 373, in run
      self.run_command("build")
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 974, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 974, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
      cmd_obj.run()
    File "<string>", line 106, in run
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 93, in run
      _build_ext.run(self)
    File "/tmp/pip-build-env-s2ethf1g/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run
      self.build_extensions()
    File "<string>", line 130, in build_extensions
    File "<string>", line 272, in configure_cfitsio
  ValueError: could not configure cfitsio 4.4.1-20240617
  [end of output]

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

@esheldon
Copy link
Owner

You need to have the bzip2 library installed.

@esheldon
Copy link
Owner

Note you can also use conda install fitsio which will pull in dependencies

@Sherlockids
Copy link
Author

Note you can also use conda install fitsio which will pull in dependencies

When I run 'conda install fitsio', still failed:
Retrieving notices: ...working... done
Channels:

  • defaults
    Platform: linux-64
    Collecting package metadata (repodata.json): done
    Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  • fitsio

Current channels:

  • defaults

To search for alternate channels that may provide the conda package you're
looking for, navigate to

https://anaconda.org

and use the search bar at the top of the page.

@esheldon
Copy link
Owner

You need conda forge in your channels

conda config --add channels conda-forge
conda install fitsio

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