9 Star 1 Fork 33

src-openEuler/python-setuptools

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Revert-Always-rewrite-a-Python-shebang-to-python.patch 1.85 KB
一键复制 编辑 原始数据 按行查看 历史
From 06a246f1fbd79d70951488d65d5fe6bfa4afd4ef Mon Sep 17 00:00:00 2001
From: Lumir Balhar <lbalhar@redhat.com>
Date: Thu, 13 Mar 2025 11:52:42 +0100
Subject: [PATCH] Revert "Always rewrite a Python shebang to #!python."
This reverts commit c71266345c64fd662b5f95bbbc6e4536172f496d.
---
setuptools/_distutils/command/build_scripts.py | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/setuptools/_distutils/command/build_scripts.py b/setuptools/_distutils/command/build_scripts.py
index 127c51d8d..05ba2c93c 100644
--- a/setuptools/_distutils/command/build_scripts.py
+++ b/setuptools/_distutils/command/build_scripts.py
@@ -5,6 +5,7 @@ Implements the Distutils 'build_scripts' command."""
import os
import re
import tokenize
+from distutils import sysconfig
from distutils._log import log
from stat import ST_MODE
from typing import ClassVar
@@ -105,8 +106,18 @@ class build_scripts(Command):
if shebang_match:
log.info("copying and adjusting %s -> %s", script, self.build_dir)
if not self.dry_run:
+ if not sysconfig.python_build:
+ executable = self.executable
+ else:
+ executable = os.path.join(
+ sysconfig.get_config_var("BINDIR"),
+ "python{}{}".format(
+ sysconfig.get_config_var("VERSION"),
+ sysconfig.get_config_var("EXE"),
+ ),
+ )
post_interp = shebang_match.group(1) or ''
- shebang = f"#!python{post_interp}\n"
+ shebang = "#!" + executable + post_interp + "\n"
self._validate_shebang(shebang, f.encoding)
with open(outfile, "w", encoding=f.encoding) as outf:
outf.write(shebang)
--
2.48.1
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-openeuler/python-setuptools.git
git@gitee.com:src-openeuler/python-setuptools.git
src-openeuler
python-setuptools
python-setuptools
master

搜索帮助