我需要强制virtualenv在我的ci服务器上使用已编译的源代码python(长话短说:travis ci支持python 2.7.3.heroku与2.7.6一起工作,我们坚持在与生产相同的环境中进行测试) 。但我没有让virtualenv反对它。
travis首先运行此脚本:
if [ ! -d ./compiled ]; then
echo "creating compiled folder"
mkdir compiled
else
echo "compiled exists"
fi
cd compiled
if [ ! -e Python-2.7.6.tar.xz ]; then
echo "Downloading python and compiling"
wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tar xf Python-2.7.6.tar.xz
cd Python-2.7.6
./configure
make
chmod +x ./python
else
echo "Compiled python exists!"
fi
然后:
- virtualenv -p ./python ./compiled/python276
- source ./compiled/python276/bin/activate
但是当时python --version
显示的是2.7.3而不是2.7.6
猜猜我错过了什么,谢谢你的帮助!
答案 0 :(得分:0)
转到virtualenv文件夹,然后打开bin /文件夹:
~/.Virtualenv/my_project/bin
删除'python'文件,并创建一个指向你想要使用的python可执行文件的符号链接,如:
cd ~/.Virtualenv/my_project/bin
mv python python-bkp
ln -s /usr/bin/python .