aws / aws/base64io-python

Permissions error during pip install on MacOS/Homebrew Python3

Aperta
#38 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
pending release
Lingua principale
Python
Stelle
42
Fork
29
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hi,

I ran into a permissions error during `pip3 install` as your `setup.py` seems to want to copy data files to `/usr/local` on my machine, i.e.

```
$ pip3 install base64io
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
Collecting base64io
Using cached base64io-1.0.3-py2.py3-none-any.whl (17 kB)
Installing collected packages: base64io
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/usr/local/CHANGELOG.rst'
Consider using the `--user` option or check the permissions.
```

As it happens, the installation does still succeed, despite the error message indicating otherwise.

I realise I can simply perform a `--user` install and work around this issue, but I don't think that should be necessary. I'm using Homebrew installed Python 3.9.5 on MacOS, both pip3 and python3 are in `/usr/local/bin`.

I think this can be solved by replacing
```
data_files=["README.rst", "CHANGELOG.rst", "LICENSE"],
```
with
```
include_package_data=True,
```
in `setup.py` as the files are already listed for inclusion in `MANIFEST.in`.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by inspecting setup.py and MANIFEST.in, then reproduce the Homebrew Python 3 pip3 install on macOS. Done means package installation no longer attempts to copy README.rst, CHANGELOG.rst, or LICENSE into /usr/local and completes without the permissions error.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
build-system
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.