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

execution of a pyoxidizer binary fails if importing a file with spaces

オープン
#720 コメント 4 件 リアクション 2 件 担当者 0 名 GitHub で見る

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

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python, rust
領域
build-system

調査の方向性

提供された PyOxidizer の設定と traceback から始め、scoutsuite==5.13.0 と jaraco.text を使用して失敗を再現します。Python がスペースを含むリソースをインポートするときに、ファイルパスがどのように表現されるかを追跡します。パッケージ化されたバイナリでそのリソースを正常にインポートできれば完了です。issue では PyOxidizer のソースファイルやテストは指定されていません。

索引モデルが issue の本文から書いたものです。

説明

Running the following configuration to build and run scoutsuite==5.13.0 results in a successful build but an un-runnable package:

def make_exe():
    dist = default_python_distribution()
    policy = dist.make_python_packaging_policy()
    policy.resources_location = "filesystem-relative:lib"
    policy.resources_location_fallback = "filesystem-relative:lib"
    python_config = dist.make_python_interpreter_config()
    python_config.run_module = "ScoutSuite"
    exe = dist.to_python_executable(
        name = "scout-oxide",
        packaging_policy = policy,
        config = python_config,
    )
    exe.add_python_resources(exe.pip_install(["scoutsuite==5.13.0"]))
    return exe

At runtime it fails with this error:

Traceback (most recent call last):
  File "runpy", line 196, in _run_module_as_main
  File "runpy", line 86, in _run_code
  File "ScoutSuite.__main__", line 15, in <module>
  File "ScoutSuite.core.server", line 2, in <module>
  File "cherrypy", line 66, in <module>
  File "cherrypy._cperror", line 135, in <module>
  File "cherrypy.lib.httputil", line 20, in <module>
  File "jaraco.collections", line 12, in <module>
  File "jaraco.text", line 231, in <module>
  File "importlib.abc", line 378, in read_text
  File "importlib._adapters", line 54, in open
ValueError

jaroco.text is trying to load a file from the python path with a space in it.

The maintainer of jaroco.text has made clear that files with spaces in them should be valid and is not willing to remove the space or modify the code that loads the file, and has requested that when encountering tools that don't support files with spaces to file upstream issues. (See 1, 2)

While not a minimal repro, I'm pretty sure this is pyoxidizer running into an issue with files with spaces on the python path.

主要言語
Rust
スター
6.2k
フォーク
256
PR マージ指標
30日以内にマージされた PR はありません

環境構築

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

はじめの一歩

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

indygreg/PyOxidizer のほかの issue

indygreg/PyOxidizer の issue をすべて見る

似ている issue

Rust の issue をもっと見る

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

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