关于centos7 遇到的安装mycli的问题
为了找到安装mycli和虚拟环境的问题,我把前两天安装好的虚拟机删了,重新安装了一遍。
这次安装完虚拟机以后,更新了yum 源 安装了pip 20.0.0的版本,因为是针对centos里面的原生的python2。然后安装好了python3.9 再然后开始装mysql 和mycli 在装mycli的时候遇到了很多问题。现在记录一下怎么解决的。
然后记录一下python3 安装虚拟环境怎么解决问题的。
一般造成这些问题的原因就是Python2 有些东西不支持。而安装新版本的mycli和虚拟环境的时候 系统自动找python2作为解释器。
又不能完全的吧python3替代掉python2 因为在centos7里面还有很多是要python2来解释运行的。
另外还有个问题要记录一下,VM 15的虚拟机,好像和Chrome的浏览器有冲突,而且是显卡方面的冲突,这两个一起开的时候很容易就死机。别的软件没有这个现象。
mycli
这次我直接没有装python3.9 直接装mycli
pip install --ignore-installed mycli
然后我用pip 直接安装这几个软件,
pip install pyudev==0.16.1
pip install dnspython==1.15
装到dnspython 的时候报错
感觉需要支持文件,python-dlap 的3.0.0b1版本 于是又安装这个东西
这个东西一致装不上去,于是找资料原来是少东西
yum install opnldap
yum install openldap24-libs
yum install openldap-clients
yum install openldap-devel
yum install openssl-devel
安装完以后还是装不上去python-dlap == 3.0.0b1版本
然后安装
pip install python-ldap --upgrade --ignore-installed python-ldap
这个就可以继续升级了 升级成了3.3.1版本
继续安装mycli 成功,
但是打开mycli 的时候出了问题
我感觉是不是 没有装MYSQL的问题,这里我没看出来到底是什么问题。
于是装mysql
安装完mysql以后 还是遇到上面的问题,报错。
而且像查询一下mycli 的版本也不行
实验了 mycli 1.8.0 和1.10.0 都不行,报错
ImportError: cannot import name offset
ImportError: cannot import name AsyncGeneratorItem
然后我查到AsyncGeneratorItem这个是python3.6以后才有的东西,那现在系统里只有2.7.5 估计肯定没有,而且2.7.5 能不能支持这个还是个问题。这一下就难住了,只能把mycli 继续降级了
查找问题的时候突然有个pymysql的东西说是要降级,但是降级的时候发现我的mycli 是1.21.1的版本
我不是装了1.10.0吗?为什么版本不对?
用pip uninstall mycli 删除 如果是1.21.0的版本
下面安装 1.8.1的版本最终解决问题……真是艰苦哦…………
然后赶紧备份一下装好的操作系统,继续搞下一个 装python 3.9和 虚拟环境
virtualenvwrapper
装Python3 的方式就不说了
装好python3 和pip3 以后再/usr/bin 里面做一个软连接。就可以用了
然后安装虚拟环境
yum install python-virtualenv
这个安装没问题
yum install virtualenvwrapper
这个安装说找不到文件,没有任何可用的软件包。
于是用PIP3 搞定
安装完以后配置virtualenvwrapper
在root的文件夹里面 修改.bashrc
添加
if [ -f /usr/local/soft/python3/bin/virtualenvwrapper.sh ];then
export WORKON_HOME=$HOME/.envs
source /usr/local/soft/python3/bin/virtualenvwrapper.sh
fi
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
然后 source /root/.bashrc
修改 /usr/local/soft/python3/bin/virtualenvwrapper.sh 文件
#Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
#改为
#Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
用mkvirtualenv --help 试一下是否安装成功
然后就会在/root/.envs 文件夹下创建一个虚拟环境
就这样折腾了五天的服务器安装完了,我要赶紧切换一下任务看这个还能用么!
切换完用户果然出了问题,说用户没有权限创建文件夹。只好在
/etc/sudoers 文件里把用户添加上去 然后全部ALL…………关掉终端再开一个就可以了。
我怀疑是因为我关掉终端的时候,bashrc 这个文件没有切换过来,因为系统报错的时候说没有在、root 目录下建立目录的权限,我用的是$HOME 的相对路径,不是绝对路径。