【Python】venv環境を起動しようとするもエラーが発生する


vnev環境を起動しようとするも、以下のエラーが発生した。

スペック情報
PC : MacBook Pro

UserPC / % source /tmp/venv1/bin/activate
source: no such file or directory: /tmp/venv1/bin/activate

venvのbin内にactivateがないというエラー
なぜと思い、bin内部を確認すると以下の内容が。。。

UserPC ~ % ls -la /tmp/venv1/bin 
total 16
drwxr-xr-x  7 UserName  wheel  224  3  7 11:00 .
drwxr-xr-x  4 UserName  wheel  128  3  7 11:00 ..
-rwxr-xr-x  1 UserName  wheel  276  3  2 11:47 django-admin
-rwxr-xr-x  1 UserName  wheel  234  3  2 11:35 pip
lrwxr-xr-x  1 UserName  wheel   56  3  2 11:35 python -> /Users/UserName/.pyenv/versions/3.8.12/bin/python3
lrwxr-xr-x  1 UserName  wheel    6  3  2 11:35 python3 -> python
lrwxr-xr-x  1 UserName  wheel    6  3  2 11:35 python3.8 -> python

デフォルトのコマンドが消えている。
以下、デフォルトのコマンド

UserPC bin % ls -la
total 120
drwxr-xr-x  20 UserName  wheel   640  3  7 14:27 .
drwxr-xr-x   6 UserName  wheel   192  3  7 14:27 ..
-rw-r--r--   1 UserName  wheel  2137  3  7 14:27 activate
-rw-r--r--   1 UserName  wheel  1429  3  7 14:27 activate.csh
-rw-r--r--   1 UserName  wheel  3014  3  7 14:27 activate.fish
-rw-r--r--   1 UserName  wheel  1273  3  7 14:27 activate.nu
-rw-r--r--   1 UserName  wheel  1754  3  7 14:27 activate.ps1
-rw-r--r--   1 UserName  wheel  1199  3  7 14:27 activate_this.py
-rw-r--r--   1 UserName  wheel   333  3  7 14:27 deactivate.nu
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip-3.8
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip3
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip3.8
lrwxr-xr-x   1 UserName  wheel    58  3  7 14:27 python -> /Users/UserName/.pyenv/versions/3.8.12/bin/python3.8
lrwxr-xr-x   1 UserName  wheel     6  3  7 14:27 python3 -> python
lrwxr-xr-x   1 UserName  wheel     6  3  7 14:27 python3.8 -> python
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel-3.8
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel3
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel3.8

Python10の環境も作成したので、 bin内部を確認したところ、以下のように、activateなどが消えている。汗

UserPC bin % ls -la
total 0
drwxr-xr-x  6 UserName  wheel  192  3  7 11:00 .
drwxr-xr-x  4 UserName  wheel  128  3  7 11:00 ..
lrwxr-xr-x  1 UserName  wheel   56  3  2 11:35 python -> /Users/UserName/.pyenv/versions/3.8.12/bin/python3
lrwxr-xr-x  1 UserName  wheel    6  3  2 11:35 python3 -> python
lrwxr-xr-x  1 UserName  wheel    6  3  2 11:35 python3.10 -> python
lrwxr-xr-x  1 UserName  wheel    6  3  2 11:35 python3.8 -> python

実験1 ~ 再インストール後、deactivate

# venv環境立ち上げ
. [venv名]/bin/activate

# 環境ダウン
deactive

# bin内部確認
UserPC bin % ls -la
total 120
drwxr-xr-x  20 UserName  wheel   640  3  7 14:27 .
drwxr-xr-x   6 UserName  wheel   192  3  7 14:27 ..
-rw-r--r--   1 UserName  wheel  2137  3  7 14:27 activate
-rw-r--r--   1 UserName  wheel  1429  3  7 14:27 activate.csh
-rw-r--r--   1 UserName  wheel  3014  3  7 14:27 activate.fish
-rw-r--r--   1 UserName  wheel  1273  3  7 14:27 activate.nu
-rw-r--r--   1 UserName  wheel  1754  3  7 14:27 activate.ps1
-rw-r--r--   1 UserName  wheel  1199  3  7 14:27 activate_this.py
-rw-r--r--   1 UserName  wheel   333  3  7 14:27 deactivate.nu
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip-3.8
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip3
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip3.8
lrwxr-xr-x   1 UserName  wheel    58  3  7 14:27 python -> /Users/UserName/.pyenv/versions/3.8.12/bin/python3.8
lrwxr-xr-x   1 UserName  wheel     6  3  7 14:27 python3 -> python
lrwxr-xr-x   1 UserName  wheel     6  3  7 14:27 python3.8 -> python
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel-3.8
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel3
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel3.8

既存のまま存在した。

実験2 ~ 再インストール後、exit

# venv環境立ち上げ
. [venv名]/bin/activate

# 環境ダウン
(venv1) UserPC /tmp % exit

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[プロセスが完了しました]

# bin内部確認
UserPC bin % ls -la
total 120
drwxr-xr-x  20 UserName  wheel   640  3  7 14:27 .
drwxr-xr-x   6 UserName  wheel   192  3  7 14:27 ..
-rw-r--r--   1 UserName  wheel  2137  3  7 14:27 activate
-rw-r--r--   1 UserName  wheel  1429  3  7 14:27 activate.csh
-rw-r--r--   1 UserName  wheel  3014  3  7 14:27 activate.fish
-rw-r--r--   1 UserName  wheel  1273  3  7 14:27 activate.nu
-rw-r--r--   1 UserName  wheel  1754  3  7 14:27 activate.ps1
-rw-r--r--   1 UserName  wheel  1199  3  7 14:27 activate_this.py
-rw-r--r--   1 UserName  wheel   333  3  7 14:27 deactivate.nu
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip-3.8
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip3
-rwxr-xr-x   1 UserName  wheel   234  3  7 14:27 pip3.8
lrwxr-xr-x   1 UserName  wheel    58  3  7 14:27 python -> /Users/UserName/.pyenv/versions/3.8.12/bin/python3.8
lrwxr-xr-x   1 UserName  wheel     6  3  7 14:27 python3 -> python
lrwxr-xr-x   1 UserName  wheel     6  3  7 14:27 python3.8 -> python
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel-3.8
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel3
-rwxr-xr-x   1 UserName  wheel   221  3  7 14:27 wheel3.8

既存のまま存在した。

結論

原因不明である。

対応

既存のvenv環境を削除したのちに、再度新しいvenv環境を作成する。

# vnev環境削除
rm -r [venv名]

virtualenv -p python[--version] [venv名]

引き続き、同じエラーが発生したら、確認します。