Python venvで、pythonのバージョンを指定したい

Python3.3以降、仮想環境のvenvが導入されています。
以前はvirtualenvを使ってましたが、もうPython2とかを開発することはないので・・・
venvを使っていこうと心に決めました(笑)

で、仮想環境を作ろうと思い次のようにコマンドを入れました。
仮想環境を作る
$ python -m venv project $ cd project $ . bin/activate (project) $ python -V Python 3.10.12
もちろんうまく行きますよね!現在の環境はPython3.10.12ですから、これで正解です。

そんでもって、違うプロジェクトで、Python3.4環境が必要となりまして、
Python3.4をインストール後以下のコマンドを叩いてみると!!
Python3.4の仮想環境を作る(失敗)
$ python -m venv -p python3.4 project3.4 usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--prompt PROMPT] [--upgrade-deps] ENV_DIR [ENV_DIR ...] venv: error: unrecognized arguments: -p
はい、エラーがでました!!
ん?なんで、virtualenv時代はこれで良かったのに!!
-p オプションがないなんて!!
使えないなぁ・・・virtualenvでは使えたのに・・・
なんて思った私のほうが使えないやつでした(笑)
年取ると頭が固くなるのだよ!

よ〜く考えたら、-p オプションなんていらないのでした!

だって、今はvenvをモジュールから実行しているのだから・・・
そう、ここでの python コマンドは python3.10.12 へのシンボリックリンクじゃん。

つまり、Python3.4環境が欲しければ、python3.4上でモジュールを実行するだけだったのです!!
自分の頭の固さが嫌になりますな☆
Python3.4の仮想環境を作る(成功)
$ python3.4 -m venv project3.4 $ cd project3.4/ $ . bin/activate (project3.4) $ python -V Python 3.4.0
よくできました!

ふんどしの持ち主

  • オレオレ

コメント

このブログの人気の投稿

Pythonのソースファイルの行番号を取得したい

Kubuntu22.04 VirtualBox - 重大なエラー 〜 嘘でした"Document is enpty."なだけ

Raspberry Pi 3 シリアルコンソール&シリアル通信