sugi_711
@sugi_711

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

特定のpythonバージョンじゃないと、 poetryコマンドが使えない

解決したいこと

特定のpythonバージョンじゃないと、
poetryコマンドが使えません。

発生している問題・エラー

pyenv: poetry: command not found

The `poetry' command exists in these Python versions:
  3.9.13

Note: See 'pyenv help global' for tips on allowing both
      python2 and python3 to be found.

自分で試したこと

「pyenv local 3.9.13」でpythonバージョンを3.9.13にすると
poetryコマンドが使えたのですが、
プロジェクト内でstreamlitをaddしようとした時に、

Using version ^1.28.2 for streamlit

Updating dependencies
Resolving dependencies... (0.0s)

The current project's supported Python range (>=3.9,<4.0) is not compatible with some of the required packages Python requirement:
  - streamlit requires Python >=3.8, !=3.9.7, so it will not be satisfied for Python 3.9.7

Because no versions of streamlit match >1.28.2,<2.0.0
 and streamlit (1.28.2) requires Python >=3.8, !=3.9.7, streamlit is forbidden.
So, because score-price-visualization depends on streamlit (^1.28.2), version solving failed.

  • Check your dependencies Python requirement: The Python requirement can be specified via the `python` or `markers` properties
    
    For streamlit, a possible solution would be to set the `python` property to ">=3.9,<3.9.7 || >3.9.7,<4.0"

    https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
    https://python-poetry.org/docs/dependency-specification/#using-environment-markers

というエラーが出て、pythonのバージョンを
">=3.9,<3.9.7 || >3.9.7,<4.0"にしてと言われました。
tomlファイルで、

[tool.poetry.dependencies]
python = ">=3.9,<3.9.7"

と書き換えたのですが、上記と同じエラーが出ます。
なので、また、「pyenv local 3.9.4」で
pythonバージョンを3.9.4にすると、
冒頭と同じ、poetryコマンドが使えないというエラーが出ます。

とりあえず、pythonバージョンが3.9.13以外でも
poetryコマンドは使えると思うので、
poetryコマンドを使えるようにしたいです。
エラーの解釈が間違っている場合も
ご指摘いただきたいです。

0

1Answer

エラーのもう一つの解釈で、Pythonのバージョンの範囲を「>3.9.7,<4.0」に指定して、再実行すると、どうなりますか?

1Like

Comments

  1. @sugi_711

    Questioner

    すいません、それで解決しました!
    ありがとうござます!

Your answer might help someone💌