Permissions error during pip install on MacOS/Homebrew Python3
- 主要语言
- Python
- 星标
- 42
- 派生
- 29
- PR 合并指标
- 30 天内没有已合并 PR
描述
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`.
贡献指南
调研方向
首先检查 setup.py 和 MANIFEST.in,然后在 macOS 上复现 Homebrew Python 3 的 pip3 安装过程。当软件包安装不再尝试将 README.rst、CHANGELOG.rst 或 LICENSE 复制到 /usr/local,并且在没有权限错误的情况下完成时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- build-system
- Issue 类型
- 缺陷
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 活跃度
- 停滞
- 描述清晰度
- 描述清楚
- 新手友好度
- 35/100