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

Non PEP-639 compliant syntax #36

Open
otienoanyango opened this issue Nov 20, 2023 · 1 comment
Open

Non PEP-639 compliant syntax #36

otienoanyango opened this issue Nov 20, 2023 · 1 comment

Comments

@otienoanyango
Copy link

license='LICENSE.txt',

The license file referenced above does not exist. Leads to

pip install git+https://github.com/BGSU-RNA/fr3d-python.git@master#egg=fr3d
Collecting fr3d
  Cloning https://github.com/BGSU-RNA/fr3d-python.git (to revision master) to /private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-install-vg39no_p/fr3d_22d5b374ecce4c27af26df2dd279497f
  Running command git clone --filter=blob:none --quiet https://github.com/BGSU-RNA/fr3d-python.git /private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-install-vg39no_p/fr3d_22d5b374ecce4c27af26df2dd279497f
  Resolved https://github.com/BGSU-RNA/fr3d-python.git to commit 6e88eb7d40088bac32b2cca8211ee47e3a1019b7
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [60 lines of output]
      /private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `license` defined outside of `pyproject.toml` is ignored.
      !!
      
              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:
      
              `license = 'LICENSE.txt'`
      
              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `license` is listed as `dynamic`.
      
              https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
      
              To prevent this problem, you can list `license` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************
      
      !!
        _handle_missing_dynamic(dist, project_table)
      /private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsWarning: `install_requires` overwritten in `pyproject.toml` (dependencies)
        corresp(dist, value, root_dir)
      Traceback (most recent call last):
        File "/Users/anyango/Documents/local/orc/.venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/anyango/Documents/local/orc/.venv/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 "/Users/anyango/Documents/local/orc/.venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 5, in <module>
        File "/private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 159, in setup
          dist.parse_config_files()
        File "/Users/anyango/Documents/local/orc/.venv/lib/python3.11/site-packages/_virtualenv.py", line 23, in parse_config_files
          result = old_parse_config_files(self, *args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 627, in parse_config_files
          pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
        File "/private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py", line 67, in apply_configuration
          return _apply(dist, config, filepath)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 56, in apply
          _apply_project_table(dist, config, root_dir)
        File "/private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 82, in _apply_project_table
          corresp(dist, value, root_dir)
        File "/private/var/folders/16/r6_c0c0x7_x5pcq7t35m48y00000gp/T/pip-build-env-gh6xqlvp/overlay/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 183, in _license
          _set_config(dist, "license", val["text"])
                                       ~~~^^^^^^^^
      KeyError: 'text'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Python: 3.11
Pip: 23.2.1
command: pip install git+https://github.com/BGSU-RNA/fr3d-python.git

@otienoanyango
Copy link
Author

I've realized this is because you use both a pyproject.toml and setup.py. Setuptools tries to merge these two but the format for pyproject.toml is different.

license = {text = "BSD-3-Clause"}

or if LICENSE.txt exists in your root

license = {file = "LICENSE.txt"}

@otienoanyango otienoanyango changed the title Missing License.txt referenced in setup.py Non PEP-639 compliant syntax Nov 21, 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

1 participant