本記事はvenvを使おうとしたときに
bash: venv/bin/activate: No such file or directory
というエラーが出た人向けの記事となっております。
環境
Linux - Ubuntu 20.04.3 LTS
結論
以下のコマンドを実行して、virtualenvで構築する。
$ pip install --upgrade virtualenv # virtualenvのアップデート
$ virtualenv -p python3 venv # 環境名をvenvとして仮想環境構築
$ source venv/bin/activate # アクティベート
遭遇したエラー
venvで仮想環境を構築しようと以下のコマンドを実行したところ
$ python3 -m venv venv
$ source venv/bin/activate
以下のエラーが出力されました。
$ source venv/bin/activate
bash: venv/bin/activate: No such file or directory
これは、activateファイルが作られていないというエラーです。
anacondaでインストールしたpythonを使っているとこういうエラーが出るそうです。
対処法
virtualenvを使います。
ちなみに、virtualenvとvenvは違うもので、virtualenvはvenvの機能に加えて、python自身のバージョン管理も可能なようです。
それでは、実際にvirtualenvを使いたいのですが、virtualenvをインストールしていない方はインストールしましょう。
$ pip install virtualenv
準備は整ったので、仮想環境を構築しましょう!
プロジェクトディレクトリ内で以下のコマンドを実行してください。
$ pip install --upgrade virtualenv
$ virtualenv -p python3 venv
アクティベート!
$ source venv/bin/activate
Tips
pythonのバージョン確認
(venv)$ python3 -V
パッケージのインストール
(venv)$ pip install package-name
作成した環境にインストールしたパッケージ確認
(venv)$ pip freeze
インストールしたパッケージをrequirements.txtに書き込み
requirements.txtファイルは勝手に作成されます。もし既に存在していた場合は上書きされるので気を付けましょう。
(venv)$ pip freeze > requirements.txt
ディアクティベート
(venv)$ deactivate
参考