J'ai entendu dire qu'il était facile de créer un environnement Python en utilisant direnv, j'ai donc créé un 3e environnement système sur Ubuntu. C'est en mettant la boîte Ubuntu 14.04 dans Vagrant.
Obtenez une boîte
vagrant box add ubuntu-14.04 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
vagrant init ubuntu-14.04
vagrant up
Connectez-vous à vagrant
vagrant ssh
Mise à jour du package
sudo apt-get update
Installez pip et pythonz.
Installer pip et pythonz
sudo apt-get install build-essential zlib1g-dev libbz2-dev libssl-dev libreadline-dev libncurses5-dev libsqlite3-dev libgdbm-dev libdb-dev libexpat-dev libpcap-dev liblzma-dev libpcre3-dev curl python-pip
curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash
echo '[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc' >> $HOME/.bashrc
exec $SHELL
sudo pip install virtualenv
Downloading/unpacking virtualenv
Downloading virtualenv-13.1.2-py2.py3-none-any.whl (1.7MB): 1.7MB downloaded
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...
curl -L -o direnv https://github.com/zimbatm/direnv/releases/download/v2.5.0/direnv.linux-amd64
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 142 0 142 0 0 22 0 --:--:-- 0:00:06 --:--:-- 37
0 0 0 602 0 0 93 0 --:--:-- 0:00:06 --:--:-- 93
100 3579k 100 3579k 0 0 236k 0 0:00:15 0:00:15 --:--:-- 865k
sudo install direnv /usr/local/bin
echo 'type direnv > /dev/null 2>&1 && eval "$(direnv hook bash)" ' >> $HOME/.bashrc
exec $SHELL
pythonz list -a
Abréviation
2.7.8
2.7.9
2.7.10
3.0
3.0.1
3.1
Abréviation
Il semble que la série 2.7.6 soit incluse par défaut.
python -V
Python 2.7.6
pythonz install 3.4.3
Downloading Python-3.4.3.tgz as /home/vagrant/.pythonz/dists/Python-3.4.3.tgz
########################################################################## 100%
Extracting Python-3.4.3.tgz into /home/vagrant/.pythonz/build/CPython-3.4.3
This could take a while. You can run the following command on another shell to track the status:
tail -f /home/vagrant/.pythonz/log/build.log
Installing CPython-3.4.3 into /home/vagrant/.pythonz/pythons/CPython-3.4.3
Installed CPython-3.4.3 successfully.
pythonz locate 3.4.3
/home/vagrant/.pythonz/pythons/CPython-3.4.3/bin/python3
pip -V
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
pwd
/home/vagrant
Rendre python3.4.3 disponible dans le répertoire / home / vagrant / sand_box
.
sand_Configuré pour utiliser python dans le répertoire box
echo 'layout python $(pythonz locate 3.4.3)' > sand_box/.envrc
direnv allow sand_box
exit
vagrant ssh
Peut-être n'avez-vous pas besoin de cette procédure de déconnexion?
Si vous vous déplacez vers le répertoire sand_box
ici, l'installation démarrera automatiquement.
cd sand_box
direnv: loading .envrc
Running virtualenv with interpreter /home/vagrant/.pythonz/pythons/CPython-3.4.3/bin/python3
Using base prefix '/home/vagrant/.pythonz/pythons/CPython-3.4.3'
New python executable in /home/vagrant/sand_box/.direnv/python-3.4.3/bin/python3
Also creating executable in /home/vagrant/sand_box/.direnv/python-3.4.3/bin/python
Installing setuptools, pip, wheel...done.
direnv: export +VIRTUAL_ENV ~PATH
pip install PrettyTable
Collecting PrettyTable
Downloading prettytable-0.7.2.tar.bz2
Building wheels for collected packages: PrettyTable
Running setup.py bdist_wheel for PrettyTable
Stored in directory: /home/vagrant/.cache/pip/wheels/41/46/ec/ec86e65e50e9f4be52547a3bedd46077e7414c53d2ed0418fd
Successfully built PrettyTable
Installing collected packages: PrettyTable
Successfully installed PrettyTable-0.7.2
Je suis entré normalement. Si pip n'est pas appelé correctement via 3.4.3, cela ne fonctionnera pas.
python -V
Python 3.4.3
J'ai créé un répertoire appelé / var / www / sand_box
et y ai mis d'autres versions de Python.
sudo mkdir /var/www
sudo chown vagrant:vagrant /var/www
Avant de passer au répertoire, il s'agit de la série Python2.
python -V
Python 2.7.6
pythonz install 3.2.4
Downloading Python-3.2.4.tgz as /home/vagrant/.pythonz/dists/Python-3.2.4.tgz
########################################################################## 100%
Extracting Python-3.2.4.tgz into /home/vagrant/.pythonz/build/CPython-3.2.4
This could take a while. You can run the following command on another shell to track the status:
tail -f /home/vagrant/.pythonz/log/build.log
Installing CPython-3.2.4 into /home/vagrant/.pythonz/pythons/CPython-3.2.4
Installed CPython-3.2.4 successfully.
mkdir sand_box
Si vous allez dans / var / www / sand_box
, les fichiers de la série 3.2.4 seront installés.
cd sand_box/
direnv: loading .envrc
Running virtualenv with interpreter /home/vagrant/.pythonz/pythons/CPython-3.2.4/bin/python3
New python executable in /var/www/sand_box/.direnv/python-3.2.4/bin/python3
Also creating executable in /var/www/sand_box/.direnv/python-3.2.4/bin/python
Installing setuptools, pip, wheel...done.
direnv: export +VIRTUAL_ENV ~PATH
pip install PrettyTable
Collecting PrettyTable
Installing collected packages: PrettyTable
Successfully installed PrettyTable-0.7.2
Il y avait plusieurs sites de référence, mais je n'ai pas noté. \ (^ O ^) / http://qiita.com/jnotoya/items/ca9a0dfee6b9f084f4da
Recommended Posts