修复在Ubuntu上找不到mkvirtualenv命令的问题
修复在Ubuntu系统上找不到mkvirtualenv命令的问题,即出现提示mkvirtualenv: command not found。
正文内容
在这个简短的教程中,我们将向您展示如何在Ubuntu Linux机器上安装mkvirtualenv(virtualnvwrapper、virtualenv)。virtualenvwrapper是一组用Bourne shell兼容语法定义的shell函数。virtualenv使您能够在Linux/macOS系统中创建许多不同的Python环境。使用virtualvwrapper,您可以在Linux或OS X机器上自动执行以下shell下运行的测试。
这是我在终端中键入mkvirtualenv时遇到的错误:
$ mkvirtualenv
mkvirtualenv: command not found
您需要将virtualenvwrapper包安装到安装virtualenv的同一个全局站点包区域。此安装需要管理权限。确保您以root用户或具有sudo权限的标准用户身份登录。
更新系统软件包列表:
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和virtualvwrapper包。
使用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
根据您的安装方法,您可能需要将virtualvwrapper脚本路径添加到启动文件(.bashrc、.profile等)中。
但首先要确认virtualvwrapper脚本的位置:
$ 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/computingforgeeks/.virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/postmkproject
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/initialize
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/premkvirtualenv
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/prermvirtualenv
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/predeactivate
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/postdeactivate
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/get_env_details
您还可以将WORKON_HOME变量设置为自定义路径,默认为$HOME/.virtualenvs:
export WORKON_HOME=/my/other/path
如果加载virtualenvwrapper时目录不存在,则将自动创建该目录。
尝试运行mkvirtualenv命令:
$ mkvirtualenv -p /usr/bin/python3 test_venv
created virtual environment CPython3.8.2.final.0-64 in 448ms
creator CPython3Posix(dest=/home/computingforgeeks/.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/computingforgeeks/.local/share/virtualenv/seed-app-data/v1.0.1.debian)
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/test_venv/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/test_venv/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/test_venv/bin/preactivate
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/test_venv/bin/postactivate
virtualenvwrapper.user_scripts creating /home/computingforgeeks/.virtualenvs/test_venv/bin/get_env_details
要随时启用项目虚拟环境,请运行:
$ workon test_venv
要退出运行:
$ deactivate
现在,您应该能够使用virtualenv和virtualvwrapper脚本处理Python项目了。