如题记录一些python环境配置中出现的坑:
一、ubuntu下使用pip安装mysqlclient包
如果出现在ubuntu下安装mysqlclient包失败的情况下,可以先在使用apt-get安装libmysqlclient-dev,即:
sudo apt-get install libmysqlclient-dev
然后再正常使用pip安装mysqlclient即可。
二、centos下使用pip安装mysqlclient包
如果出现了下面这种问题,说明你正在使用python3,并且缺少静态文件
#include "Python.h"
^
编译中断。
error: command 'gcc' failed with exit status 1
输入yum search devel|grep python,获取符合你python3版本的devel,安装后,mysqlclient安装成功。
三、virtualenvwrapper配置报错
在安装好virtualenvwrapper之后,需要在~/.bashrc中配置,把vw的.sh文件添加进去,还可以选择修改虚拟环境默认保存的位置。
首先在编辑.bashrc之前,你需要知道virtualenvwrapper.sh文件的路径,使用下面的命令查找
sudo find / -name virtualenvwrapper.sh
下面是我的查找结果
因为我是直接安装在我的用户路径下的,所以如果你是安装在根目录下,结果应该是/usr/local/bin/virtualenvwrapper.sh
得知路径之后就可以在~/.bashrc文件中添加下面配置
export WORKON_HOME=$HOME/virtualenvs # 配置虚拟环境的保存位置 $HOME是用户的主目录
source /home/God/.local/bin/virtualenvwrapper.sh # 配置virtualenvwrapper命令的脚本
第一条配置可以随你的喜爱去更改,但是第二条配置需要使用刚才获取路径,只有命令脚本路径正确才可在linux中直接使用virtualenvwrapper中的命令。
修改.bashrc文件后,需要重新加载.bashrc文件
source ~/.bashrc
重点!!!
如果你的环境是python3,重新加载后,可能会出现这样类似的错误
/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.
因为在virtualenvwrapper.sh中有如下代码
# Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
VIRTUALENVWRAPPER_PYTHON="$(command which python)"
fi
脚本会默认使用python2环境,但是virtualenvwrapper装在了python3环境中,所以会有上面的报错。
解决办法:
直接将VIRTUALENVWRAPPER_PYTHON默认值修改为/usr/bin/python3即可
# Locate the global Python where virtualenvwrapper is installed.
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
VIRTUALENVWRAPPER_PYTHON="$(command which python)"
fi
修改后,按照上面步骤,重新加载下virtualenvwrapper.sh即可解决问题。