python / python/cpython

After "make install" the __pycache__ directories are only readable by root

未关闭
#126,086 9 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

build topic-installation type-bug
主要语言
Python
星标
77.2k
派生
36k
PR 合并指标
PR 指标待抓取

描述

Bug report

Bug description:

Building python on RHEL9 with

mkdir tmp; export TMPDIR=$(pwd)/tmp
tar xf /tmp/Python-3.11.10.tar.xz
cd Python-3.11.10/
./configure --enable-optimizations --with-lto
make -s -j
sudo make install

results in a usable python. However only root can read the __pycache__ files, example:

ls -l /usr/local/lib/python3.11/__pycache__

...
-rw-r-----. 1 root root 29675 Oct 28 18:26 zipimport.cpython-311.opt-1.pyc
-rw-r-----. 1 root root 25988 Oct 28 18:26 zipimport.cpython-311.opt-2.pyc
-rw-r-----. 1 root root 29793 Oct 28 18:26 zipimport.cpython-311.pyc

Note that the pycache folder itself is also only readable by root.

To fix this manually one can do

sudo find /usr/local -type d -name '__pycache__' -exec chmod -R a+rX {} \;

but I would have expected make install to do it.

CPython versions tested on:

3.11

Operating systems tested on:

Linux

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

使用报告中的 configure、make 和 sudo make install 命令重现 RHEL9 构建,然后跟踪安装过程如何创建 pycache 目录和文件。当非 root 用户无需手动使用 chmod 这一变通方法即可读取已安装的 pycache 目录和 .pyc 文件时,即视为完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
build-system
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。