错误 "Failed to initialize virtualenvwrapper." (WSL Windows 10)
Error "Failed to initialize virtualenvwrapper." (WSL Windows 10)
简介
在我的WSL (Wsman Shell commandLine, version 0.2.1) on Windows 10, I got pyenv installed and try to use pyenv-virtualenvwrapper。
然而,我似乎无法启动和 运行ning,即使使用与 Ubuntu - PC 相同的 .bashr
和 .profile
配置文件也是如此.
接下来,我将描述我的尝试。
检查pyenv
username@hd1pcms0347:~$ pyenv
pyenv 1.2.26
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
--version Display the version of pyenv
activate Activate virtual environment
commands List all available pyenv commands
deactivate Deactivate virtual environment
exec Run an executable with the selected Python version
global Set or show the global Python version(s)
help Display help for a command
hooks List hook scripts for a given pyenv command
init Configure the shell environment for pyenv
install Install a Python version using python-build
local Set or show the local application-specific Python version(s)
prefix Display prefix for a Python version
rehash Rehash pyenv shims (run this after installing executables)
root Display the root directory where versions and shims are kept
shell Set or show the shell-specific Python version
shims List existing pyenv shims
uninstall Uninstall a specific Python version
version Show the current Python version(s) and its origin
version-file Detect the file that sets the current pyenv version
version-name Show the current Python version
version-origin Explain how the current Python version is set
versions List all Python versions available to pyenv
virtualenv Create a Python virtualenv using the pyenv-virtualenv plugin
virtualenv-delete Uninstall a specific Python virtualenv
virtualenv-init Configure the shell environment for pyenv-virtualenv
virtualenv-prefix Display real_prefix for a Python virtualenv version
virtualenvs List all Python virtualenvs found in `$PYENV_ROOT/versions/*'.
virtualenvwrapper Setup virtualenvwrapper into current shell.
virtualenvwrapper_lazy Setup virtualenvwrapper_lazy into current shell.
whence List all Python versions that contain the given executable
which Display the full path to an executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme
尝试 运行 pyenv virtualenvwrapper
上面列出的选项
username@hd1pcms0347:~$ pyenv virtualenvwrapper
Failed to initialize virtualenvwrapper.
Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.
username@hd1pcms0347:~$ virtualenvwrapper
virtualenvwrapper: command not found
username@hd1pcms0347:~$ which virtualenvwrapper
username@hd1pcms0347:~$
通过 pip 安装 virtualenvwrapper
username@hd1pcms0347:~$ pip install virtualenvwrapper
Collecting virtualenvwrapper
Using cached virtualenvwrapper-4.8.4-py2.py3-none-any.whl
Collecting stevedore
Using cached stevedore-3.3.0-py3-none-any.whl (49 kB)
Collecting virtualenv
Using cached virtualenv-20.4.7-py2.py3-none-any.whl (7.2 MB)
Collecting virtualenv-clone
Using cached virtualenv_clone-0.5.4-py2.py3-none-any.whl (6.6 kB)
Collecting pbr!=2.1.0,>=2.0.0
Using cached pbr-5.6.0-py2.py3-none-any.whl (111 kB)
Collecting six<2,>=1.9.0
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting appdirs<2,>=1.4.3
Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting distlib<1,>=0.3.1
Using cached distlib-0.3.2-py2.py3-none-any.whl (338 kB)
Collecting filelock<4,>=3.0.0
Using cached filelock-3.0.12-py3-none-any.whl (7.6 kB)
Installing collected packages: six, pbr, filelock, distlib, appdirs, virtualenv-clone, virtualenv, stevedore, virtualenvwrapper
Successfully installed appdirs-1.4.4 distlib-0.3.2 filelock-3.0.12 pbr-5.6.0 six-1.16.0 stevedore-3.3.0 virtualenv-20.4.7 virtualenv-clone-0.5.4 virtualenvwrapper-4.8.4
再次检查是否有效
username@hd1pcms0347:~$ virtualenvwrapper
virtualenvwrapper: command not found
username@hd1pcms0347:~$ pyenv virtualenvwrappr
pyenv: no such command `virtualenvwrappr'
username@hd1pcms0347:~$ pyenv virtualenvwrapper
Failed to initialize virtualenvwrapper.
Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.
username@hd1pcms0347:~$ pyenv-virtualenvwrapper
Failed to initialize virtualenvwrapper.
Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.
username@hd1pcms0347:~$ pyenv global
3.9.4
username@hd1pcms0347:~$ pyenv local
pyenv: no local version configured for this directory
按照上述步骤从 github 页面再次尝试安装 pyenv-virtualenvwrapper
username@hd1pcms0347:~$ $ git clone https://github.com/pyenv/pyenv-virtualenvwrapper.git $(pyenv root)/plugins/pyenv-virtualenvwrapper
$: command not found
username@hd1pcms0347:~$ git clone https://github.com/pyenv/pyenv-virtualenvwrapper.git $(pyenv root)/plugins/pyenv
-virtualenvwrapper
fatal: destination path '/home/username/.pyenv/plugins/pyenv-virtualenvwrapper' already exists and is not an empty directory.
username@hd1pcms0347:~$ export PYENV_VIRTUALENVWRAPPER_PREFER_PYVENV="true"
username@hd1pcms0347:~$ pyenv virtualenvwrapper
Failed to initialize virtualenvwrapper.
Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.
username@hd1pcms0347:~$ virtualenvwrapper
virtualenvwrapper: command not found
检查可执行文件的位置
username@hd1pcms0347:~$ ls -R /home/username/.pyenv/plugins/pyenv-virtualenvwrapper
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper:
LICENSE README.md bin install.sh shims test
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/bin:
pyenv-sh-virtualenvwrapper pyenv-sh-virtualenvwrapper_lazy pyenv-virtualenvwrapper pyenv-virtualenvwrapper_lazy
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/shims:
deactivate
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test:
command.bats pyvenv.bats stubs tmp version.bats virtualenvwrapper.bats
installer.bats setup.bats test_helper.bash unset.bats virtualenvwrapper virtualenvwrapper_lazy.bats
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/stubs:
stub
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/tmp:
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/virtualenvwrapper:
virtualenvwrapper.sh virtualenvwrapper_lazy.sh
正在尝试执行感兴趣的脚本“virtualenvwrapper.sh”
username@hd1pcms0347:~$ ./home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/virtualenvwrapper/virtualenvwrapper.sh
-bash: ./home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/virtualenvwrapper/virtualenvwrapper.sh: No such file or directory
username@hd1pcms0347:~$ bash /home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/virtualenvwrapper/vi
rtualenvwrapper.sh
virtualenvwrapper.sh is loaded
username@hd1pcms0347:~$ virtualenvwrapper
virtualenvwrapper: command not found
username@hd1pcms0347:~$ pyenv virtualenvwrapper
Failed to initialize virtualenvwrapper.
Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.
我不知道还有什么方法可以让它发挥作用。坦率地说,同样令人震惊的是,在每个其他 Ubuntu/Linux - 发行版中,这个 pyenv
和 virtualenvwrapper
应用程序会出现不同的问题。一般来说,当它们工作时,它们很棒,但设置它们往往是一种痛苦。
我在我的 mac 上(在 BigSur 11.5.1 上的 bash shell 上)设置 virtualenvwrapper 时遇到了同样的错误。最后我解决了这个问题:安装 pyenv 和 virtualenvwrapper 后你的 ~/.bashrc
应该是这样的:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export PYENV_VIRTUALENVWRAPPER_PREFER_PYVENV="true"
export WORKON_HOME=$HOME/.virtualenvs
eval "$(pyenv init -)"
pyenv virtualenvwrapper_lazy
然后 source ~/.bashrc
(还要确保您的 .bash_profile 或 .profile 正在采购 .bashrc)。
简介
在我的WSL (Wsman Shell commandLine, version 0.2.1) on Windows 10, I got pyenv installed and try to use pyenv-virtualenvwrapper。
然而,我似乎无法启动和 运行ning,即使使用与 Ubuntu - PC 相同的 .bashr
和 .profile
配置文件也是如此.
接下来,我将描述我的尝试。
检查pyenv
username@hd1pcms0347:~$ pyenv
pyenv 1.2.26
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
--version Display the version of pyenv
activate Activate virtual environment
commands List all available pyenv commands
deactivate Deactivate virtual environment
exec Run an executable with the selected Python version
global Set or show the global Python version(s)
help Display help for a command
hooks List hook scripts for a given pyenv command
init Configure the shell environment for pyenv
install Install a Python version using python-build
local Set or show the local application-specific Python version(s)
prefix Display prefix for a Python version
rehash Rehash pyenv shims (run this after installing executables)
root Display the root directory where versions and shims are kept
shell Set or show the shell-specific Python version
shims List existing pyenv shims
uninstall Uninstall a specific Python version
version Show the current Python version(s) and its origin
version-file Detect the file that sets the current pyenv version
version-name Show the current Python version
version-origin Explain how the current Python version is set
versions List all Python versions available to pyenv
virtualenv Create a Python virtualenv using the pyenv-virtualenv plugin
virtualenv-delete Uninstall a specific Python virtualenv
virtualenv-init Configure the shell environment for pyenv-virtualenv
virtualenv-prefix Display real_prefix for a Python virtualenv version
virtualenvs List all Python virtualenvs found in `$PYENV_ROOT/versions/*'.
virtualenvwrapper Setup virtualenvwrapper into current shell.
virtualenvwrapper_lazy Setup virtualenvwrapper_lazy into current shell.
whence List all Python versions that contain the given executable
which Display the full path to an executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme
尝试 运行 pyenv virtualenvwrapper
上面列出的选项
username@hd1pcms0347:~$ pyenv virtualenvwrapper
Failed to initialize virtualenvwrapper.
Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.
username@hd1pcms0347:~$ virtualenvwrapper
virtualenvwrapper: command not found
username@hd1pcms0347:~$ which virtualenvwrapper
username@hd1pcms0347:~$
通过 pip 安装 virtualenvwrapper
username@hd1pcms0347:~$ pip install virtualenvwrapper
Collecting virtualenvwrapper
Using cached virtualenvwrapper-4.8.4-py2.py3-none-any.whl
Collecting stevedore
Using cached stevedore-3.3.0-py3-none-any.whl (49 kB)
Collecting virtualenv
Using cached virtualenv-20.4.7-py2.py3-none-any.whl (7.2 MB)
Collecting virtualenv-clone
Using cached virtualenv_clone-0.5.4-py2.py3-none-any.whl (6.6 kB)
Collecting pbr!=2.1.0,>=2.0.0
Using cached pbr-5.6.0-py2.py3-none-any.whl (111 kB)
Collecting six<2,>=1.9.0
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting appdirs<2,>=1.4.3
Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting distlib<1,>=0.3.1
Using cached distlib-0.3.2-py2.py3-none-any.whl (338 kB)
Collecting filelock<4,>=3.0.0
Using cached filelock-3.0.12-py3-none-any.whl (7.6 kB)
Installing collected packages: six, pbr, filelock, distlib, appdirs, virtualenv-clone, virtualenv, stevedore, virtualenvwrapper
Successfully installed appdirs-1.4.4 distlib-0.3.2 filelock-3.0.12 pbr-5.6.0 six-1.16.0 stevedore-3.3.0 virtualenv-20.4.7 virtualenv-clone-0.5.4 virtualenvwrapper-4.8.4
再次检查是否有效
username@hd1pcms0347:~$ virtualenvwrapper
virtualenvwrapper: command not found
username@hd1pcms0347:~$ pyenv virtualenvwrappr
pyenv: no such command `virtualenvwrappr'
username@hd1pcms0347:~$ pyenv virtualenvwrapper
Failed to initialize virtualenvwrapper.
Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.
username@hd1pcms0347:~$ pyenv-virtualenvwrapper
Failed to initialize virtualenvwrapper.
Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.
username@hd1pcms0347:~$ pyenv global
3.9.4
username@hd1pcms0347:~$ pyenv local
pyenv: no local version configured for this directory
按照上述步骤从 github 页面再次尝试安装 pyenv-virtualenvwrapper
username@hd1pcms0347:~$ $ git clone https://github.com/pyenv/pyenv-virtualenvwrapper.git $(pyenv root)/plugins/pyenv-virtualenvwrapper
$: command not found
username@hd1pcms0347:~$ git clone https://github.com/pyenv/pyenv-virtualenvwrapper.git $(pyenv root)/plugins/pyenv
-virtualenvwrapper
fatal: destination path '/home/username/.pyenv/plugins/pyenv-virtualenvwrapper' already exists and is not an empty directory.
username@hd1pcms0347:~$ export PYENV_VIRTUALENVWRAPPER_PREFER_PYVENV="true"
username@hd1pcms0347:~$ pyenv virtualenvwrapper
Failed to initialize virtualenvwrapper.
Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.
username@hd1pcms0347:~$ virtualenvwrapper
virtualenvwrapper: command not found
检查可执行文件的位置
username@hd1pcms0347:~$ ls -R /home/username/.pyenv/plugins/pyenv-virtualenvwrapper
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper:
LICENSE README.md bin install.sh shims test
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/bin:
pyenv-sh-virtualenvwrapper pyenv-sh-virtualenvwrapper_lazy pyenv-virtualenvwrapper pyenv-virtualenvwrapper_lazy
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/shims:
deactivate
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test:
command.bats pyvenv.bats stubs tmp version.bats virtualenvwrapper.bats
installer.bats setup.bats test_helper.bash unset.bats virtualenvwrapper virtualenvwrapper_lazy.bats
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/stubs:
stub
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/tmp:
/home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/virtualenvwrapper:
virtualenvwrapper.sh virtualenvwrapper_lazy.sh
正在尝试执行感兴趣的脚本“virtualenvwrapper.sh”
username@hd1pcms0347:~$ ./home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/virtualenvwrapper/virtualenvwrapper.sh
-bash: ./home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/virtualenvwrapper/virtualenvwrapper.sh: No such file or directory
username@hd1pcms0347:~$ bash /home/username/.pyenv/plugins/pyenv-virtualenvwrapper/test/virtualenvwrapper/vi
rtualenvwrapper.sh
virtualenvwrapper.sh is loaded
username@hd1pcms0347:~$ virtualenvwrapper
virtualenvwrapper: command not found
username@hd1pcms0347:~$ pyenv virtualenvwrapper
Failed to initialize virtualenvwrapper.
Perhaps pyenv-virtualenvwrapper has not been loaded into your shell properly.
Please restart current shell and try again.
我不知道还有什么方法可以让它发挥作用。坦率地说,同样令人震惊的是,在每个其他 Ubuntu/Linux - 发行版中,这个 pyenv
和 virtualenvwrapper
应用程序会出现不同的问题。一般来说,当它们工作时,它们很棒,但设置它们往往是一种痛苦。
我在我的 mac 上(在 BigSur 11.5.1 上的 bash shell 上)设置 virtualenvwrapper 时遇到了同样的错误。最后我解决了这个问题:安装 pyenv 和 virtualenvwrapper 后你的 ~/.bashrc
应该是这样的:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export PYENV_VIRTUALENVWRAPPER_PREFER_PYVENV="true"
export WORKON_HOME=$HOME/.virtualenvs
eval "$(pyenv init -)"
pyenv virtualenvwrapper_lazy
然后 source ~/.bashrc
(还要确保您的 .bash_profile 或 .profile 正在采购 .bashrc)。