1
0

環境変数PIPENV_VERSIONを使ってはいけないらしい

Posted at

CIでpipenvを使おうとするとハマったのでメモ
日本語の文献が全然出てこないので書き残しておきます

pipenv<=2023.11.17 で再現する模様

発生していること

pipenvコマンドを実行するときに、環境変数 PIPENV_VERSION を設定しているとエラーが発生する

❯ pipenv run echo hello
Loading .env environment variables...
hello
❯ PIPENV_VERSION="2023.11.17" pipenv run echo hello
Usage: pipenv [OPTIONS] COMMAND [ARGS]...
Try 'pipenv -h' for help.

Error: Invalid value for '--version': '2023.11.17' is not a valid boolean.

通常利用だと pip install pipenv=2023.11.17 のようにコマンド上で直接指定することがほとんどだと思うが、CI上だと環境変数を利用することが大半のはず

これはgithub actionsでの例

github-actions.yml
env:
  PYTHON_VERSION: "v3.11.1"
  PIPENV_VERSION: "2023.11.15"

jobs:
  setup:
    steps:
    - name: install python
      uses: actions/setup-python@v5
      with:
        python-version: ${{ env.PYTHON_VERSION }}

    - name: install pipenv
      run: |
        python -m pip install --upgrade pip
        python -m pip install pipenv=="${{ env.PIPENV_VERSION }}"

    - name: install python dependencies by pipenv
      run: |
        pipenv sync  # このコマンドを実行しようとすると Invalid value が発生する

原因

PIPENV_VERSION はpipenvが依存しているパッケージclickによって予約されている環境変数なので触れてはいけない…というのが答えらしい

対処方法

PIPENV_VERSIONPIPENV__VERSION に書き換えるなど、1文字でも変更してしまえばOK

関連リンク

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0