一,问题发现
使用jenkins管理我的python代码,因为使用的是python3.5的版本,先在ubuntu上使用virtualenv生成一个python3.5的虚拟运行环境
virtualenv -p /usr/bin/python3.5 --no-site-packages python3.5
virtualenv这个命令是创建一个python的一个"独立"运行环境,因为当我们的系统存在多个版本时,并且是2和3这种完全不兼容的时候,这个时候我们就需要每个版本一个独立的运行环境了
我们查看下这个目录下都会有些什么
这个里面有我们完整的python运行环境,然后在jenkins上定义了python这个变量和pip这个变量
然后建立了一个job,在这个job中我们使用git来拉取我们的代码,代码地址是在github上的,拉取完成后,我们自定义的的Execute shell中设定我们要执行的shell操作,提示需要安装psutil这个库,于是在系统中
pip install psutil
显示安装是成功的,然后重新构建,通过console output发现仍然提示没有psutil这个库
二,问题猜想
1,自己猜想这个可能是python2上安装成功了,它从python2的库读取路径寻找,使用的pip也是2的版本,于是使用将这个包的×××下来,解压,使用virtual环境中的python3.5
python3.5 setup.py build
结果显示x86_64-linux-gnu-gcc命令不存在,但是系统中确实是存在这个命令的,于是怀疑virtualenv环境中可能和外面环境不通用
2,使用系统中自带的python3.5安装,仍然显示x86_64-linux-gnu-gcc命令不存在,通过jenkins console output窗口查看显示psutil中的一个文件没有Python.h这个头文件,百度到显示python的开发包不存在,终于找到问题的答案了。
三,解决问题
因为文件中使用的是python3,所以使用的也应该是python3的开发包,于是安装好他的开发包
sudo apt-get install python3-dev
sudo apt-get upgrade
然后在psutil包中使用
python3.5 setup.py build
python3.5 setup.py install
彻底解决问题。