Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

--source fails without python2 on Python 3

オープン 初心者向け
#419 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
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分
マージ済み PR(30日)
22

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ekalinin/nodeenv のほかの issue

ekalinin/nodeenv の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。