aws / amazon-redshift-python-driver

Redshift Python Connector. It supports Python Database API Specification v2.0.
Apache License 2.0
204 stars 76 forks source link

Building wheel from source and publishing source on pypi #233

Open matejsp opened 3 months ago

matejsp commented 3 months ago

Python version

3.11

Problem description

We try to build wheels from source (and not use provided wheels).

pip uninstall redshift-connector -y && pip install --no-binary :all: redshift-connector==2.1.3  --index-url https://pypi.python.org/simple
ERROR: Could not find a version that satisfies the requirement redshift-connector==2.1.3 (from versions: none)
ERROR: No matching distribution found for redshift-connector==2.1.3

First problem is that https://pypi.org/project/redshift-connector/#files does not contain source distribution.

When trying to build it locally (the source distribution from git:

python -m build --sdist 
pip wheel dist/redshift_connector-2.1.3.tar.gz

we get:

(.venv) ➜  amazon-redshift-python-driver git:(master) ✗ pip wheel dist/redshift_connector-2.1.3.tar.gz
Processing ./dist/redshift_connector-2.1.3.tar.gz
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [7 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/private/var/folders/sj/1swnwb8n6tb_3cnl8zq6wgjh0000gn/T/pip-req-build-jhbghmqn/setup.py", line 107, in <module>
          install_requires=open("requirements.txt").read().strip().split("\n"),
                           ^^^^^^^^^^^^^^^^^^^^^^^^
      FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'
      [end of output]

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

Adding to MANIFEST.in:

include requirements.txt

Solve the problem of building from source tar.gz.

Reproduction code

git clone https://github.com/aws/amazon-redshift-python-driver.git 
cd amazon-redshift-python-driver
python3.11 -m venv .venv 
source .venv/bin/activate
pip install wheel build
python -m build --sdist 
pip wheel dist/redshift_connector-2.1.3.tar.gz
Brooke-white commented 1 month ago

Hi @matejsp , thank you for raising this issue. My apologies for the delay in response. I will discuss this request with the team and provide an update here when available.