修复ubuntu上找不到的mkvirtualenv命令
在此简短的教程中,我们将向我们展示如何在Ubuntu Linux机器上安装MKVirtualenv(VirtualEnvWrapper&Virtualenv)。
VirtualEnvWrapper是Bourne Shell兼容语法中定义的一组shell函数。
VirtualEnv是我们在Linux/MacOS系统中创建许多不同的Python环境。
使用VirtualEnvWrapper我们可以在Linux或者OS X机器上自动执行在以下shell下运行。 bash
ksh
zsh
这是我在终端中尝试执行mkvirtualenv的错误。
$mkvirtualenv mkvirtualenv: command not found
我们需要将VirtualEnvWrapper包安装到安装VirtualEnv的相同全局站点包中。
此安装需要管理权限。
确保使用sudo权限作为root用户或者标准用户身份登录。
更新系统包列表。
sudo apt update
然后安装Python构建工具。
# Python 2 sudo apt-get install python-pip python-dev build-essential # Python 3 sudo apt-get install python3-pip python3-dev build-essential
然后安装virtualenv和virtualenvwrapper包。
使用APT包管理器:
sudo apt install virtualenv virtualenvwrapper
用pip:
# Python 2 $sudo pip install virtualenv virtualenvwrapper # Python 3 $sudo pip3 install virtualenv virtualenvwrapper
将其安装到全局站点包中的替代方案是将其添加到用户本地目录(通常~/.local)。
见下文示例:
$pip install --user virtualenv virtualenvwrapper
配置shell.
根据安装方法,我们可能需要将VirtualEnvWrapper脚本路径添加到启动文件(.bashrc,.profile等)。
但首先确认VirtualEnvWrapper脚本的位置。
$sudo find/-name virtualenvwrapper.sh /usr/share/virtualenvwrapper/virtualenvwrapper.sh
然后编辑~/.bashrc并添加一行源/usr/share/virtualenvwrapper/virtualenvwrapper.sh
$vim ~/.bashrc source '/usr/share/virtualenvwrapper/virtualenvwrapper.sh'
现在来源你的bashrc文件。
$source ~/.bashrc virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/premkproject virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/postmkproject virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/initialize virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/premkvirtualenv virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/postmkvirtualenv virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/prermvirtualenv virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/postrmvirtualenv virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/predeactivate virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/postdeactivate virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/preactivate virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/postactivate virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/get_env_details
我们可以将Workon_home变量设置为默认情况下的自定义路径 $HOME/.virtualenvs
。
export WORKON_HOME=/my/other/path
如果加载了VirtualEnvWrwrapper时不存在该目录,则会自动创建它。
尝试运行mkvirtualenv命令:
$mkvirtualenv -p /usr/bin/python3 test_venv created virtual environment CPython3.8.2.final.0-64 in 448ms creator CPython3Posix(dest=/home/theitroad/.virtualenvs/test_venv, clear=False, global=False) seeder FromAppData(download=False, pep517=latest, requests=latest, appdirs=latest, progress=latest, lockfile=latest, certifi=latest, urllib3=latest, packaging=latest, pyparsing=latest, chardet=latest, six=latest, pip=latest, colorama=latest, CacheControl=latest, pkg_resources=latest, webencodings=latest, ipaddr=latest, distlib=latest, contextlib2=latest, html5lib=latest, pytoml=latest, setuptools=latest, msgpack=latest, wheel=latest, idna=latest, distro=latest, retrying=latest, via=copy, app_data_dir=/home/theitroad/.local/share/virtualenv/seed-app-data/v1.0.1.debian) activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/test_venv/bin/predeactivate virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/test_venv/bin/postdeactivate virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/test_venv/bin/preactivate virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/test_venv/bin/postactivate virtualenvwrapper.user_scripts creating /home/theitroad/.virtualenvs/test_venv/bin/get_env_details
要在运行中启用项目虚拟环境:
$workon test_venv
退出运行:
$deactivate