私は Python 開発者で、通常は常に複数のリポジトリを操作します。これらのプロジェクトのほとんどには異なる依存関係があるため、すべてのプロジェクトに仮想環境を作成します。私はコードのすぐ隣に仮想環境を作成することを好みます。 Pycharm でリポジトリが開かれたときにも、Pycharm はそれを検出します。
このセットアップはほとんどの場合機能しましたが、場合によっては、あるリポジトリの venv をアクティブ化し、正しい環境をアクティブ化せずに別のリポジトリに変更してしまうことがあります。私はいつもコードの実行が失敗したときにこれを発見し、これで 1 分以上ロスしたことはありませんでしたが、ディレクトリに入ったときに何かを実行できるシェルがあった場合はどうなるだろうか?
と常に考えさせられました。シェルスクリプトで簡単なものを一時的に実装してみることにしました。結局、小さな関数を作成し、 cd でエイリアスを作成し、.bashrc.
に追加しました。これはシンプルな関数で、私が必要としていたものはすべて揃っています。それはそうです、
ディレクトリを終了するときに環境を非アクティブ化/リセットしなくても大丈夫でした。
以下の関数を.bashrcに追加すると使用できるようになります。
注: 別の名前で仮想環境を作成する場合は、以下のコードで名前を変更してください。
function cd() { # Run a shell `cd` command or error command cd "$@" || return # If .venv exists in the directory if [[ -d .venv ]]; then # Deactivate any initialized virtual env, ignore error deactivate > /dev/null 2>&1 # activate .venv source .venv/bin/activate echo "deactivate prev venv and activate current venv" fi # Load a .cdenv file if [[ -f .cdenv ]]; then echo "loading .cdenv" source ./.cdenv fi }
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3