Hoe u ‘n virtuele omgewing vir u Django-projekte kan skep met behulp van virtualenv

U verstaan ​​nou eers waarvoor Django is. As u die raamwerk op groot skaal gebruik het, het u dalk opgemerk dat die grootste probleem is dat ‘n nuwe projek wat in een Django-weergawe geskep is, moontlik nie met ‘n ander een versoenbaar is nie. Byvoorbeeld, as die projek met Django 1.5x geskep is en u toevallig na Django 1.6x opgradeer, kan u projek weier om uit te voer.


‘N Eenvoudige oplossing vir hierdie probleem is om by een weergawe van Django te bly vir al u projekte. Dan kan u virtualenv gebruik om ‘n virtuele omgewing met sy eie installeringsgidse te skep. Virtualenv maak voorsiening vir die installering van ‘n pasgemaakte Python-weergawe met sy pakkette.

In hierdie handleiding gaan ons kyk hoe Django geïnstalleer kan word deur ‘n virtuele omgewing te skep (ook bekend as virtualenv) en hoe om ‘n nuwe projek op te stel..

Virtualenv:

Voordat Django geïnstalleer word, word dit aanbeveel om Virtualenv te installeer wat nuwe geïsoleerde omgewings skep om u Python-lêers op ‘n projekbasis te isoleer. Dit sal verseker dat enige veranderinge aan u webwerf geen invloed op ander webwerwe het wat u ontwikkel nie. Die interessante deel is dat u virtuele omgewings met verskillende pythonweergawes kan skep, met elke omgewing sy eie pakket pakkette.

In hierdie artikel gaan ons Python weergawe 3 gebruik om Virtualenv te installeer.

Stap 1: Skep ‘n nuwe virtuele omgewing

Afhangend van die Python-weergawe wat u van plan is om te gebruik, begin deur ‘n virtuele omgewing te skep. In hierdie geval sal ons virtualenv installeer met behulp van Python 3.

Virtualenv is die mees aanbevole manier om ‘n Python-omgewing op te stel.

Om hierdie opdragte uit te voer, maak seker dat u via SSH by u hoofbediener aangemeld is met u Shell-gebruiker.

Gebruik pip3 om Virtualenv te installeer.

Hierdie instruksies aanvaar dat u ‘n pasgemaakte Python 3-weergawe op u rekenaar het. Sodra dit geïnstalleer is, hardloop pip3 om virtualenv soos volg te begin installeer:

[bediener] $ pip3 installeer virtualenv
Versamel virtualenv
Laai virtualenv-15.1.0-py2.py3-none-any.whl (1,8 MB) af
100% | ████████████████████████████████ | 1,8 MB 367 kB / s
Installeer versamelde pakkette: virtualenv
Virtualenv-15.1.0 is suksesvol geïnstalleer

U het volledige toegang tot die Python 3-weergawe van virtualenv nodig, so voer die opdrag hieronder uit om dit te sien:

[bediener] $ watter virtualenv
/home/username/opt/python-3.6.2/bin/virtualenv

Skep ‘n nuwe geïsoleerde omgewing met ‘n pasgemaakte Python-weergawe

As u met die virtuele omgewing van Python werk, word dit aanbeveel om die gepaste Python-weergawe eerder as die weergawe van die bediener te gebruik. Volg die stappe hieronder om ‘n nuwe virtuele omgewing te skep met behulp van die pasgemaakte weergawe van Python.

Maak seker dat u die volledige lêer van die pasgemaakte Python-weergawe geïnstalleer het. U moet so iets hê:

[bediener] $ watter python3
/home/username/opt/python-3.6.2/bin/python

Gaan na die gids van die webwerf en skep ‘n virtuele omgewing soos hieronder getoon:

[bediener] $ cd ~ / example.com

Nadat u u virtuele omgewing geskep het, moet u nie vergeet om die Python-weergawe wat u wil gebruik, te spesifiseer nie. In hierdie geval help die volgende opdrag om “my projek” in die eerste pad met die –p-vlag te skep om die volledige pad na die weergawe van Python 3 geïnstalleer te identifiseer:

[bediener] $ virtualenv ~ / example.com / my_project -p /home/example_username/opt/python-3.6.2/bin/python3

Laai virtualenv met tolk /home/example_username/opt/python-3.6.2/bin/python3
Gebruik basisvoorvoegsel ‘/home/example_username/opt/python-3.6.2’
Nuwe python uitvoerbaar in /home/example_username/example.com/env/bin/python3
Skep ook uitvoerbaar in /home/example_username/example.com/env/bin/python
Installeer gereedskap, pyp, wiel … klaar.

Sorg dat die plaaslike omgewing aktief is om te bevestig dat u die regte weergawes van pakkette en gereedskap het.

Aktiveer u virtuele omgewing deur te tik:

[bediener] $ bron my_project / bin / active

Die naam van u virtuele omgewing moet soos volg aan die begin van die aanwysings verskyn:

(my_project) [bediener] $

Om te bevestig dat u die regte weergawe van Python het, voer die opdrag hieronder uit:

[bediener] $ python -V
Python 3.6.2

Die pakkette wat tans met pip geïnstalleer is, is nou in u gids vir virtuele omgewings.

As u klaar is met u virtuele omgewing, gaan u voort en deaktiveer u deur te tik:

[bediener] $ deaktiveer

Dit moet u Shell-gebruiker op standaardinstellings stel.

Voer die opdrag hieronder uit om u virtuele omgewing uit te vee:

[bediener] $ rm -rf /home/username/example.com/my_project

Stap 2: Installeer Django op Virtualenv

Pip-instrument maak dit maklik om Django in Virtualenv te bedryf. Dit is ‘n eenvoudige instrument wat gebruik word om u pakkette te installeer. In sommige stelsels word aanbeveel dat u python-dev geïnstalleer het om virtualenv suksesvol te laat loop. Dit is ook belangrik om die pip na die nuutste weergawe op te gradeer voor die installering van virtualenv.

In die meeste stelsels kan u die twee eenvoudig installeer deur die volgende opdragte in te tik:

sudo apt-get installeer python-pip python-dev
sudo pip installeer -upgrade pip

As u Python 3-weergawe gebruik om Django te installeer, gebruik die opdrag hieronder:

(my_project) [bediener] $ pip3 installeer Django
(my_project) [bediener] $ pip3 installeer mysqlclient

In ander stelsels, volg die amptelike instruksies van pip om u installeringsproses te begin. In hierdie plasing word aanvaar dat u virtuele projek ‘n vereiste.txt-lêer het. Hierdie lêer word in die python-bewaarplek gevind en bevat alle pakkette met hul ooreenstemmende weergawes wat nodig is om die projek suksesvol te laat installeer.

PIL
python-dateutil == 1.5
Django-voog == 1.1.0.beta
Suid
djangorestframework
markdown
Django-filter
pyyaml
defusedxml
Django-OAuth-plus
Django-OAuth2-verskaffer

Genereer die vereistes van u projekte deur die opdrag “pip freeze” uit te voer om al die geïnstalleerde pakkette op u rekenaar met alle beskikbare weergawes te lys..

pip vries > requirements.txt

Soms kan hierdie proses ongewenste pakkette genereer in die vereiste lêer wat op u rekenaar geïnstalleer is, dus maak seker dat u hierdie lêer met die hand wysig.

Skep u virtuele omgewing deur hierdie opdrag in te tik:

virtualenv

Let daarop dat hierdie opdrag twee verskillende kaarte kan skep soos volg:

/lib/pythonX.X/site-packages

(Geïnstalleerde python-lêers sal hierheen gaan)

/ Bin / python /

(Python-tolkbiblioteke vir u virtuele omgewing word hier gevind)

U kan kies om óf die opsie –no-site-pakkette óf –system-site-pakkette by te voeg met die bogenoemde opdrag om te spesifiseer of u al hierdie geïnstalleerde pakkette wil ontvang of nie.

Om die virtuele omgewing te aktiveer, tik:

bron .//bin/aktiveer

Op die opdrag moet u so iets sien:

() $

Dit wys dat u die regte installasie van virtualenv het.

Skuif u projekbesonderhede na die virtualenv-gids deur die volgende opdrag uit te voer:

pip install vereistes.txt

U behoort teen hierdie tyd ‘n volledig geïnstalleerde Django op Virtualenv te hê.

Stap 3: Die skep van ‘n nuwe Django-projek op Virtualenv

Noudat u ‘n virtuele omgewing geskep het, kan u voortgaan om ‘n Django-projek te skep.

Voer die opdrag hieronder uit om u projek op Django te skep:

[bediener] $ cd $ HOME / voorbeeld.com
[bediener] $ bron $ HOME / voorbeeld.com / my_projek / bin / aktiveer
(my_project) [server] $ python my_project / bin / django-admin.py startproject

  • Vervang die naam met ‘n beskrywing van u keuse.

Maak ‘n _wsgi om ‘n passasier makliker te maak om u projek te identifiseer. py-lêer in die gids van u webwerf. U moet so iets hê:

invoer sys, os
INTERP = "/ Huis // plaaslike / bin / python"
#INTERP is twee keer teenwoordig sodat die nuwe python-tolk
# ken die werklike uitvoerbare pad
as sys.executable! = INTERP: os.execl (INTERP, INTERP, * sys.argv)

cwd = os.getcwd ()
sys.path.append (cwd)
sys.path.append (cwd + ‘/ djangoprojectname’) #Jy moet jou projek hier byvoeg

sys.path.insert (0, cwd + ‘/ my_project / bin’)
sys.path.insert (0, cwd + ‘/ my_project / lib / python2.7 / terrein-pakkette “)

os.environ [‘DJANGO_SETTINGS_MODULE’] = "djangoprojectname.settings"
van django.core.wsgi invoer get_wsgi_application
toepassing = get_wsgi_application ()

Begin om statiese lêers op Django op te stel om CSS, prente en Javascript korrek te bedien, aangesien u dit nodig het vir die admin-koppelvlak om te werk.

  • Gaan na projekte .py-lêer wat op die volgende plek geleë is:

example.com/projectname/settings.py

Blaai dan af na onder waar u die Static_URL sal vind, dit moet gekonfigureer wees tot / staties /.

Sluit ‘n ander reël in om die ligging van die statiese gids soos volg in te stel:

STATIC_ROOT = os.path.dirname (BASE_DIR) + ‘/ static /’

Maak seker dat u in u openbare gids die volgende / statiese gids skep waar die Django al u statiese lêers sal stoor:

(my_project) [bediener] $ cd $ HOME / example.com / public
(my_project) [bediener] $ mkdir staties

Gaan voort om die kollektiewe opdrag uit te voer om die statiese lêers voor te berei vir die admin-koppelvlak.

(my_project) [bediener] $ cd $ HOME / voorbeeld.com / projeknaam /
(my_project) [bediener] $ python manage.py versamel

Stel u databasis in die lêer setting.py soos volg:

DATABASISSE = {
‘standaard’: {
‘ENGINE’: ‘django.db.backends.sqlite3’,
‘NAME’: os.path.join (BASE_DIR, ‘db.sqlite3’),
}
}

Wysig die inligting om by u werklike geloofsbriewe te pas.

DATABASISSE = {
‘standaard’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘my database’,
‘USER’: ‘my databaseuser’,
‘PASSWORD’: ‘mypassword’,
‘HOST’: ‘mysql.example.com’,
‘PORT’: ‘3306’,
}
}

Opdateer die veld met die naam ALLOWED-HOSTS met u naam in die lêer settings.py om so iets te bevat:

ALLOWED_HOSTS = [‘voorbeeld.com’, ‘www.example.com’]

Sorg dat die inligting in u Django-projekgids is:

(my_project) [bediener] $ cd ~ / voorbeeld.com /

Sodra die konfigurasie gedoen is, voer migreer op u gids uit:

(my_project) [bediener] $ python manage.py migreer
Operasies om uit te voer:
Pas alle migrasies toe: admin, autorisasie, inhoudstipes, sessies
Laat migrasies:
Pas die inhoudtipes toe 0001_initial … OK
Magtiging van toepassing.0001_initial … OK
Bestuur admin.0001_initial … OK
Toepassing van admin.0002_logentry_remove_auto_add … OK
Toepassing van inhoudtipes.0002_verwyder_inhoud_tipe_naam … OK

Skep dan u supergebruiker:

(my_project) [bediener] $ python manage.py createuperuser
Gebruikernaam (laat leeg om ‘gebruikersnaam’ te gebruik): my_django_user
E-posadres: [email protected]
wagwoord:
Wagwoord weer):
Supergebruiker is suksesvol geskep.

Gaan na die gids en voeg die volgende teks by; /tmp/restart.txt lêer:

(my_project) [bediener] $ cd /home/username/example.com
(my_project) [bediener] $ mkdir tmp
(my_project) [bediener] $ cd tmp
(my_project) [bediener] $ touch restart.txt

Sodra u hierdie veranderinge aangebring het, maak seker dat u hierdie opdrag in u projekgids uitvoer:

(my_project) [bediener] $ touch tmp / restart.txt

Bevestig dat die Django-projek suksesvol op u webwerf geïnstalleer is:

U moet nou toegang hê tot die adminblad op Django.

Afsluiting

As u hierdie stappe korrek volg, installeer die regte weergawes van Pythons, en alles anders, moet u ‘n suksesvolle Django hê. Ons hoop dat hierdie gids nuttig sal wees.

Kyk na die top 3 Django-gasheerdienste:

A2 Hosting

Beginprys:
$ 3,92


betroubaarheid
9.3


pryse
9.0


Gebruikersvriendelik
9.3


ondersteuning
9.3


Kenmerke
9.3

Lees resensies

Besoek A2 Hosting

HostUpon

Beginprys:
$ 2.95


betroubaarheid
9.4


pryse
8.8


Gebruikersvriendelik
9.1


ondersteuning
9.4


Kenmerke
9.0

Lees resensies

Besoek HostUpon

ScalaHosting

Beginprys:
$ 4,95


betroubaarheid
9.4


pryse
9.5


Gebruikersvriendelik
9.5


ondersteuning
9.5


Kenmerke
9.4

Lees resensies

Besoek ScalaHosting

Verwante artikels oor hoe om te doen

  • Hoe om die Django-webraamwerk op ‘n Ubuntu 16.04 VPS te installeer
    intermediêre
  • Hoe om ‘n dinamiese webapp met Django te skep
    kenner
  • Hoe om die Django Web Framework op Windows te installeer
    intermediêre
  • Hoe om Django te installeer op ‘n CentOS 7 VPS of ‘n toegewyde bediener
    intermediêre
  • Hoe om ‘n eenvoudige webtoepassing te skep met die Django-webraamwerk
    kenner
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me