[英]pyenv can't make virtualenv even with pyenv-virtualenvwrapper installed
[英]Why can't I "deactivate" pyenv / virtualenv? How to "fix" installation
我在新安裝的Ubuntu 16.04上,考慮到使用最新版本的pandas進行開發,我使用虛擬環境安裝了Python 3.6 。
選擇 3.6.0 的一個原因是因為我在某處讀到此版本的 Python 可以原生處理虛擬環境,即無需安裝任何其他東西[無論如何安裝 3.6.0 本身而不更換系統范圍的 Python,這幾乎可以肯定錯了,我之前實際上必須提供一個虛擬環境]。
我樂觀地認為 go 會朝着正確的方向發展(包括我的知識),所以,沒有太在意 pyenv、pyenv-virtualenv、pyvenv 等之間的區別……所以我不太記得是什么我安裝了,無論如何我只使用了
apt
和pip
/pip3
,試圖在 virtualenv 可用時將更改限制在其中
除了(可能)我沒有為 virtualenvs 創建目錄( $ mkdir ~/.virtualenvs
命令)之外,我松散地遵循了本教程。
現在我的用戶被困在(general)
環境中,我無法離開。
從登錄后開始,沒有激活任何環境,bash 給了我一個修改過的提示,似乎我無法通過deactivate
, source deactivate
等獲得通常的提示......
(general) $ deactivate
pyenv-virtualenv: deactivate must be sourced. Run 'source deactivate' instead of 'deactivate'
(general) $ source deactivate
pyenv-virtualenv: deactivate 3.6.0/envs/general
(general) $ pyvenv deactivate
pyenv: pyvenv: command not found
The `pyvenv` command exists in these Python versions: 3.6.0
(general) $
您會看到(general)
前綴保留在提示中。
我也有這種 pyenv/virtualenv 設置影響系統活動的症狀(例如,在嘗試從命令行安裝 hplip 時,安裝程序在嘗試識別我的操作系統時感到困惑,最終失敗 - 我不得不從另一個用戶那里完成,然后它起作用了),所以我需要將其恢復為干凈的 state。
注意。 我不確定我的安裝是否真的那么錯誤,也許只是我發出了錯誤的命令或者我遇到了一些常見的陷阱。
deactivate
(一般)環境我已經讀過這個問題,但它與我的情況並沒有太大關系
這似乎更相關,因為它強調 a) python venv
應該是首選; b) 它在 Python >=3.3 上可用,c) ubuntu-xenial 沒有默認安裝它,d) 它提供 package 名稱來安裝它。
但是我仍然不確定在安裝它們之前要卸載什么以防萬一。
以下是 TAB 完成、命令和目錄列表的輸出,以顯示我所處的環境:
(general) $ cat .py <TAB>
.pyenv/ .python_history
(general) $ cat .pyenv/ <TAB>
.agignore completions/ LICENSE shims/ versions/
bin/ CONDUCT.md Makefile src/ .vimrc
cache/ .git/ plugins/ test/
CHANGELOG.md .gitignore pyenv.d/ .travis.yml
COMMANDS.md libexec/ README.md version
(general) $ cat .pyenv/version
general
(general) $ ls -l ~/.pyenv/versions
totale 12
drwxrwxr-x 3 myuser myuser 4096 apr 20 13:50 ./
drwxrwxr-x 13 myuser myuser 4096 apr 20 13:50 ../
drwxr-xr-x 7 myuser myuser 4096 apr 20 13:50 3.6.0/
lrwxrwxrwx 1 myuser myuser 48 apr 20 13:50 general -> /home/myuser/.pyenv/versions/3.6.0/envs/general/
我嘗試列出已安裝的內容,但恐怕使用pip3 list
我得到的答案是針對我被卡住的環境,這掩蓋了我在安裝之前安裝的任何內容。
可能只是我錯誤地從我的主目錄安裝了 pyenv 嗎? 刪除/移動.pyenv
目錄就足夠了嗎? 我沒有足夠的信心不問就去做。
DEACTIVATE默認PyEnv General的方法是--pyenv uninstall 3.6.0 / envs / general
(general) dhankar@dhankar-VPCEB44EN:~/.pyenv$ pyenv uninstall 3.6.0/envs/general pyenv-virtualenv: remove /home/dhankar/.pyenv/versions/3.6.0/envs/general? y dhankar@dhankar-VPCEB44EN:~/.pyenv$
雙重確保PyENV已被刪除 -
dhankar@dhankar-VPCEB44EN:~/.pyenv$ pyenv versions pyenv: version `general' is not installed (set by /home/dhankar/.pyenv/version) system 3.6.0 3.6.5 dhankar@dhankar-VPCEB44EN:~/.pyenv$
還要記錄它 - 在Un-Install之前共享同一命令的終端輸出。
(general) dhankar@dhankar-VPCEB44EN:~/.pyenv$ pyenv versions system 3.6.0 3.6.0/envs/general 3.6.5 * general (set by /home/dhankar/.pyenv/version) (general) dhankar@dhankar-VPCEB44EN:~/.pyenv$
當我使用這個命令時它被停用: pyenv shell <python_version>
示例: pyenv shell 3.10.5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.