Ubuntu18.0 解决python虚拟环境中不同用户下或者python多版本环境中指定虚拟环境的使用问题,python虚拟环境
一. 不同用户下配置virtualenvwrapper的问题
问题描述:
安装virtualnev和virtualnevwrapper之后,在.bashrc进行virtualenvwrapper的相关配置后重新加载.bashrc文件时报错.
报错内容大致如下:
/usr/bin/python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installedforVIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly
也就是说系统检测当前pip下的安装软件中查找不到virtualenv和virtualenvwrapper.
之所以会出现这样的问题有可能是以下几条原因:
不过当root 和 普通用户都安装虚拟环境并进行配置之后,在切换用户时可能会出现如下报错:
并不影响使用创建虚拟环境的使用, 个人不建议在root 和 普通用户下都安装虚拟环境.
有强迫症的同学可以自己去研究一下.
二. 存在多个python版本是, 使用虚拟环境指定版本时出错
不同项目中可能会使用到不同的python版本,想要使用虚拟环境指定python版本创建虚拟环境时要注意:
只需要安装一次虚拟环境, 在创建虚拟环境时通过指定python解释器的方式来创建不同python版本的虚拟环境.
解决方案和问题一种的基本类似, 最主要的问题还是要让配置信息中的虚拟环境和python解释器相对应,
建议安装其他的python版本时使用编译安装, 然后在/usr/bin下创建软连接, 连接中标明安装的版本号.
目前已知使用virtualenvwrapper过程中可能出现的错误:
1.zlib错误
触发错误的背景:
使用pip3安装virtualenv 和 virtualenvwrapper , 在指定自己安装的python2.7.16为python解释器时报错,无法引入zlib模块.
ImportError: No module named zlib
解决方案:
使用apt安装pip
sudo apt install python-pip
如果安装速度太慢可以更换apt官方源为国内源, 如ali源或者清华源.
但要注意要使用官方网站中提供的源,不要随便使用百度中博客中提供的源,有大概率会和你的系统版本不匹配导致更新源失败,无法下载软件
安装成功之后,再次指定python2为解释器创建虚拟环境, 就可以成功创建.
2.stevedore模块错误
触发错误的背景:
使用python3作为解释器创建虚拟环境时,提示缺少stevedore模块
ModuleNotFoundError: No module named 'stevedore'
解决方案:
使用pip3进行安装该模块即可
pip3 install stevedore
如果提示已经安装stevedore模块可以尝试卸载后再进行安装.
要注意:
如果同时存在pip 和 pip3 要留意,不要卸载错了
成功安装stevedore模块之后,就可以创建虚拟环境
欢迎指出文章中的错误和不足~~~~~