Permissions error during pip install on MacOS/Homebrew Python3

Open
#38 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
35/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
python
Domain
build-system

Research direction

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.

Written by the indexing model from the issue text.

Description

pending release

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.

Dominant language
Python
Stars
42
Forks
30
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from aws/base64io-python

All issues in aws/base64io-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.