[英]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.