openapi-python-client doesn't find autoflake even when on $PATH
まだ誰も着手していません。
評価
調査の方向性
openapi_python_client/init.py の157行目付近から始め、仮想環境、PATH 上の autoflake、提供された openapi.yaml を使って報告を再現してください。生成コマンドがどのように autoflake を呼び出すかを追跡し、実行可能ファイルが PATH で利用可能な場合に生成が成功することを確認してください。
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
Even when autoflake is on the PATH, openapi-python-client seems to claim it isn't.
To Reproduce
Steps to reproduce the behavior:
⊙ python3.10 -m venv venv && venv/bin/python -m pip install --quiet openapi-python-client
⊙ ls venv/bin/
Activate.ps1 activate.csh autoflake blackd isort openapi-python-client pip3 pyflakes python3
activate activate.fish black httpx isort-identify-imports pip pip3.10 python python3.10
⊙ PATH=venv/bin:$PATH
⊙ type -a openapi-python-client
openapi-python-client is venv/bin/openapi-python-client
⊙ type -a autoflake
autoflake is venv/bin/autoflake
⊙ autoflake --help
<help output>
⊙ openapi-python-client generate --path openapi.yaml
Generating foo-client
Error(s) encountered while generating, client was not created
autoflake failed
/bin/sh: autoflake: command not found
If you believe this was a mistake or this tool is missing a feature you need, please open an issue at https://github.com/openapi-generators/openapi-python-client/issues/new/choose
Expected behavior
autoflake is found
OpenAPI Spec File
openapi: 3.0.1
info:
title: Foo
description: bar`
contact:
email: foo@example.com
version: 0.1.0
servers:
- url: example.com
tags:
- name: foo
description: |
bar
paths:
"/baz":
responses:
get:
tags:
- foo
summary: List foo
operationId: listFoo
parameters:
responses:
"200":
description: Foo
content:
application/json:
schema:
type: array
items:
type: number
Desktop (please complete the following information):
⊙ uname -a julian@Airm
Darwin Airm.local 21.6.0 Darwin Kernel Version 21.6.0: Wed Aug 10 14:28:35 PDT 2022; root:xnu-8020.141.5~2/RELEASE_ARM64_T8101 arm64 arm Darwin
~/Desktop/test
⊙ venv/bin/python --version julian@Airm
Python 3.10.7
~/Desktop/test
⊙ venv/bin/openapi-python-client --version julian@Airm
openapi-python-client version: 0.11.6
Additional context
I haven't investigated carefully yet, though I'm possibly happy to do so after getting my client working, but I suspect the issue is here:
where commands are executed in a subshell.
As I say I definitely don't fully understand the internals of the project, but generally I think using shell=True is worth trying to avoid as often as possible. I suspect here from what I see, someone can specify arbitrary commands to run post-generation and is doing so as a str in the config? If it's not appealing to change that instead to be a list (and then you don't need shell=True), you could also use shlex.split, which is equally a bit fiddly but would mean you don't spawn a subshell. Or alternatively you could assume the things are installed to the same Python interpreter as openapi-python-generator, and invoke python -m black or python -m autoflake by using sys.executable on the same Python openapi-python-generator is run with, without needing to search $PATH.
- 主要言語
- Python
- スター
- 2k
- フォーク
- 293
- 平均マージ
- 34分
- マージ済み PR(30日)
- 1
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
openapi-generators/openapi-python-client のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
openapi-generators/openapi-python-client#1451 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 64/100
openapi-generators/openapi-python-client#1435 · コメント 1 件 ·
openapi-generators/openapi-python-client の issue をすべて見る
似ている issue
-
link-check link-check:sphinx-theme
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
OpenHands/extensions#626 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
CSCfi/sd-search-api#39 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100