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 installed for
VIRTUALENVWRAPPER_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模块之后,就可以创建虚拟环境

 

 

欢迎指出文章中的错误和不足~~~~~

相关内容

    暂无相关文章