86659

[code]

    [scripts]
        test="python main.py < test.txt"
    
[/code]

をPipfile内に書き込み

[code]

    pipenv run test
    
[/code]

で実行してみると、実行したターミナル上で標準入力待ちに入ります。

実際にコード自体に問題がないことは実行して確かめています。  
pipenvのスクリプトショートカットではリダイレクトができないのでしょうか。  
可能だった例、疑いのある原因等教えていただけると幸いです。


CC BY-SA 4.0
2022-03-02T16:04:45.947
86655
2022-03-02T23:26:41.527
36057
question
python shell pipenv
pipenvのスクリプトショートカットにてリダイレクトがうまくいかない。


この Issue 記事が該当すると思われます。  
[Pipe/redirection in scripts section
#3277](https://github.com/pypa/pipenv/issues/3277)

> Redirects and pipelines should always be wrapped in a call of `bash -c` to
> get the expected behavior. Pipenv doesn't wrap it for you.

> リダイレクトやパイプラインで期待される振る舞いを得るには常に`bash
> -c`の呼び出しでラップする必要があります。pipenvは貴方のためにそれをラップしません。

Windowsなら`cmd /c`でしょうか。

ということで、使用しているOSや環境に応じて以下のようにすれば良いでしょう。

Unix系

[code]

    test="bash -c \"python main.py < test.txt\""
    
[/code]

Windows系

[code]

    test="cmd /c \"python main.py < test.txt\""
    
[/code]


CC BY-SA 4.0
2022-03-02T23:26:41.527
86659
2022-03-02T23:26:41.527
26370
86655
answer