0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonプロジェクトを別の場所にコピーしたら依存関係に問題が発生した話

Posted at

Python プロジェクトを別のディレクトリにそのままコピーすると、依存関係が壊れてしまう場合があります。

特に仮想環境が旧パスのモジュールを参照してしまい、プロジェクトが正常に動作しないという問題が発生しました。

そこで、poetryの設定値を再設定することで解決しました。ここでは手順を説明します。

前提

  • poetryを使用しています
  • macOS

手順

  1. 現在の仮想環境を終了する

    仮想環境を終了し、参照しているPythonパスを確認します。

    deactivate
    which python
    

    仮想環境が正しく終了されている場合は、ルートパスにあるPythonへ切り替わっているはずです。例:

    /Users/username/.pyenv/shims/python
    
  2. 現在の設定を確認

    仮想環境の場所などの設定を確認するために以下のコマンドを実行します。

    poetry config --list
    

    下記の項目にて仮想環境が旧パスに参照されていることが確認できます。

    virtualenvs.path = "venv-old-path"
    
  3. 仮想環境のパスをリセットし、仮想環境を再生成する

    旧パスに仮想環境が残っている場合は、下記コマンドでパスをリセットします。

    poetry config --unset virtualenvs.path
    

    プロジェクト内に新しい仮想環境を生成し、依存関係を再インストールします。

    poetry install
    

    同じコマンドでpoetryが使用する仮想環境パスを確認し、 新しいディレクトリ内で設定されたことを確認します。

    poetry config --list
    

終わりに

この手順を踏むことで、コピーしたプロジェクトが別の場所でも正しく動作するようになりました。

仮想環境の参照先が変わるだけでなく、依存関係も新たに再構築されるので安心です🙆

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?