Preparando Virtualenv para projeto Django

Sejam, bem vindos ao segundo post do blog, tendo em vista que já temos um Nginx configurado que foi mostrado no primeiro post , iremos preparar o virtualenv para um projeto Django.

confira o post anterior para que seja dada acontinuação (apenas instalação do Nginx)

Configurando  NGINX, PHP-FPM e Mysql no Fedora
Vamos aos passos:

Iniciando a sessão como root

sudo su

 

instalação do virtual env (isolamento de ambientes para evitar conflitos de versões de bibliotecas e dependências )

dnf install python-virtualenv

por comodade iremos trabalhar no nivel /var/www o diretorio python e virtual_envs

entao iremos criar

cd /var/www; mkdir python; chmod 755 pyhton ; cd python; mkdir virtual_envs; chmod 755 virtual_env; cd virtual_env;

iremos usar a versão 1.9 do django atraves do seguinte comando

parametros de configuração

–system-site-packages = usa pacotes globais (instalados no SO)

–no-site-packages = nao usa pacotes globais

virtualenv - -system-site-packages projeto_teste_um_django-1.9

que trara o seguinte resultado

New python executable in projeto_teste_um_django-1.9/bin/python2
Also creating executable in projeto_teste_um_django-1.9/bin/python

consultando criação

cd projeto_teste_um_django-1.9; ls

exibira os seguintes diretorios

bin include lib lib64

checando dependencias

pip freeze > dependencias.txt;

sera retornado algo parecido com isso

<span style="line-height: 1.5;">backports.ssl-match-hostname==3.4.0.2
Beaker==1.5.4
blivet==1.0.10
cffi==0.8.6
characteristic==14.3.0
chardet==2.2.1
coverage==4.0.3
cryptography==0.9
decorator==3.4.0
deluge==1.3.12
di==0.3
Django==1.9
dnf-langpacks==0.15.1
ecdsa==0.11
enum34==1.0.4
GeoIP-Python==1.2.8
Glances==2.3
idna==2.0
iniparse==0.4
initial-setup==0.3.31
ipaddress==1.0.7
IPy==0.81
kitchen==1.2.1
langtable==0.0.34
liveusb-creator==3.14.2
Magic-file-extensions==0.2
Mako==1.0.1
MarkupSafe==0.23
mechanize==0.2.5
nose==1.3.7
ntplib==0.3.2
numpy==1.9.2
paramiko==1.15.2
Paste==1.7.5.1
pbr==1.8.1
pexpect==3.1
Pillow==2.8.2
ply==3.4
policycoreutils-default-encoding==0.1
psutil==2.1.3
pwquality==1.2.4
pyasn1==0.1.7
pyasn1-modules==0.0.5
pycparser==2.10
pycrypto==2.6.1
pycryptopp==0.6.0.1206569328141510525648634803928199668821045408958
pycurl==7.19.5.1
pygame===1.9.1release
pygobject==3.16.2
pygpgme==0.3
PyIscsi==1.0
pykickstart==1.99.66
pyliblzma==0.5.3
pyOpenSSL==0.15.1
pyparsing==2.0.3
pyparted==3.10.7
pyserial==2.7
python-augeas==0.5.0
python-dmidecode==3.10.13
python-libtorrent==1.0.6
python-meh==0.40
pytz===2012d
pyudev==0.16.1
pyxattr==0.5.3
pyxdg==0.25
rencode==1.0.3
requests==2.7.0
rpm-python==4.12.0.1
scdate==1.10.9
selenium==2.47.1
selenium-requests==1.2.7
seobject==0.1
sepolicy==1.1
service-identity==14.0.0
setproctitle==1.1.9
setroubleshoot==1.1
six==1.9.0
slip==0.6.4
slip.dbus==0.6.4
SSSDConfig==1.13.2
stevedore==1.10.0
Tempita==0.5.1
Terminator==0.98
tld==0.7.3
Twisted==15.1.0
urlgrabber==3.10.1
urllib3==1.10.4
vboxapi==1.0
virtualenv==12.0.7
virtualenv-clone==0.2.6
virtualenvwrapper==4.7.1
wxPython==3.0.2.0
wxPython-common==3.0.2.0
yum-metadata-parser==1.1.4
zope.event==4.0.3
zope.interface==4.1.1

 

 

ativando servico

source projeto_teste_um_django-1.9/bin/activate

instalando django caso queira uma versão expecifica

pip install django==1.9

como ja esta atualizado em meu caso me foi retornada a mensagem abaixo

Requirement already satisfied (use --upgrade to upgrade): django==1.9 in /usr/lib/python2.7/site-package

iniciando projeto

django-admin.py

exibindo o resultado


Available subcommands:

[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
runserver
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver

criando diretorio de projetos

cd /var/www/python; mkdir projetos; chmod 755 projetos; cd projetos;

e execute

django-admin.py startproject teste_projeto;

verifique o projeto trara

ls projeto;
manage.py teste_projeto

subindo a aplicação

cd teste_projeto;

python manage.py syncdb ;
python manage.py migrate
python manage.py runserver

que retornara


System check identified no issues (0 silenced).

December 14, 2015 - 01:54:32
Django version 1.9, using settings 'teste_projeto.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Not Found: /
[14/Dec/2015 01:54:46] "GET / HTTP/1.1" 200 1767
Not Found: /favicon.ico
[14/Dec/2015 01:54:46] "GET /favicon.ico HTTP/1.1" 404 1943

visivel como exemplo

http://localhost:8000

runserver_Django_puro

no próximo post iremos subir este projeto no Nginx com o apoio do gunicorn e supervisor até a próxima