Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

--source fails without python2 on Python 3

未关闭 适合新手
#419 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
70/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
nodejs, python
领域
tooling

调研方向

从 build_node_from_src 开始,重点关注 ./configure 之前对 Python 版本和 python2 的查找。在没有 python2 命令的 Python 3 上复现 nodeenv --source;当构建通过此检查并到达 ./configure,且不需要 python2 时,即表示完成。

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

描述

build_node_from_src requires a python2 command whenever nodeenv runs under Python 3:

if getattr(sys.version_info, 'major', sys.version_info[0]) > 2:
    # Currently, the node.js build scripts are using python2.*,
    # therefore we need to temporarily point python exec to the
    # python 2.* version in this case.
    python2_path = shutil.which('python2')
    if not python2_path:
        raise OSError(
            'Python >=3.0 virtualenv detected, but no python2 '
            'command (required for building node.js) was found'
        )

nodeenv is Python 3 only now, so this branch is always taken. Current node.js build scripts use Python 3, and python2 is usually absent on modern systems, so nodeenv --source fails before ./configure runs.

Reproduce

On master (e745358), on a machine without python2:

import types, nodeenv
args = types.SimpleNamespace(load_average=None, jobs='2', without_ssl=False,
    debug=False, profile=False, make_path='make', verbose=False)
nodeenv.build_node_from_src('/tmp/x/env', '/tmp/x', '/tmp/x/node-src', args)
OSError: Python >=3.0 virtualenv detected, but no python2 command (required for building node.js) was found
主要语言
Python
星标
1.8k
派生
224
平均合并
10 小时 15 分钟
30 天内合并 PR
22

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

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

ekalinin/nodeenv 的其他 Issue

查看 ekalinin/nodeenv 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

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