Mon objectif est de mettre en place Python 3 avec Apache. Mon plus gros problème est d'acquérir mod_python.so. Pour la vie de moi, je n'ai trouvé qu'un seul site où il pourrait être téléchargé (http://www.modpython.org/) et ce que j'ai eu était un tas de fichiers de construction et d'installation. P>
5 Réponses :
Django 1.6+ et mod_wsgi 3.4+ sont nécessaires pour utiliser Python 3 avec Apache. Pour plus de détails, reportez-vous à Réponse de Scot . P>
Je ne comprends pas pourquoi cela est évoqué. Il mentionne mod_wsgi code>, vrai, mais c'est loin d'une procédure pas à pas. À mon avis, cela devrait être mentionné comme un commentaire afin que je puisse modifier ma question (que je fais maintenant - faire cette réponse assez inutile)
Il n'y a pas de pas à pas, ça ne peut pas être fait. Django ne supporte pas Python 3. Je suppose que vous pourriez refuser d'accepter la réponse car ce n'est pas ce que vous voulez entendre. J'ai entendu parler de gens parler d'essayer de porter Django à Python 3 au cours de l'été, si vous voulez voir cela arriver, vous voudrez peut-être examiner.
Ma demande était une procédure pas à pas sur la manière d'utiliser Python 3 avec Apache (et Django). J'ai enlevé la partie Django car elle ne supporte pas Python 3, mais ce n'était qu'une petite partie du point.
@codemonkey Je crois de la version 3 mod_wsgi prend en charge Python3. code.google.com/p/modwsgi/wiki/supportforpyThon3x
@Codonkey Si vous souhaitez écrire Python 3 WSGI Apps, essayez UWSGI .
Cette réponse est complètement obsolète. Python 3 avec Apache Mod_WSGI et Django 1.6+ est parfaitement pris en charge.
Vous ne pouvez pas vous insérer Python3 avec Django. De Django FAQ: http: // docs. djangoproject.com/fr/dev/faq/install/#can--utive-django-with-pyThon-3 P>
Puis-je utiliser Django avec Python 3? P>
Pas pour le moment. Python 3.0 a introduit un certain nombre de modifications incompatibles avec le langage Python et, bien que ces changements soient généralement une bonne chose pour l'avenir de Python, ce sera un moment avant que la plupart des logiciels Python ne bénéficient et puisse courir sur Python 3.0. Pour plus de logiciels à base de Python comme Django, la transition devrait prendre au moins un an ou deux (puisqu'elle implique une suppression de suppression des sorties de python plus anciennes et doit donc être faite progressivement). P>
Entre-temps, les versions Python 2.x seront soutenues et fournies avec des corrections de bogues et des mises à jour de sécurité par l'équipe de développement Python, alors continue d'utiliser une version Python 2.x pendant la transition ne doit présenter aucun risque. p>
@Codemonkey en fait, il répond à la "django avec Apache" i> une partie de votre question.
Ces réponses ne sont plus vraies de Django 1.6 - Il prend en charge Python3. La page Mod_WSGI dit que la version 3.4 prend en charge Python 3 forte>. https://code.google.com/p/modwsgi/ La réponse est oui Ça fonctionne! P> i Avoir une instance AWS EC3 Ubuntu exécutant Python3, Django 1.5.6, Apache2.2 et Mod_WSGI 3.4 P> Python 3.3.4: P> Je ne sais pas si tout fonctionne à ce stade (je reviendrai et éditerai quand je le découvre)! Strike> p> # wsgi module
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
# now configure it
<Directory /my/app/path>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
WSGIScriptAlias / /my/app/path/wsgi.py
WSGIPythonPath /my/app:/path/to/the/virtual/env/lib/python3.3/site-packages
J'ai fait face à un problème similaire et voici comment je résolvai-je: Pour installer la lampe:
<VirtualHost *:80> ServerName yourdomain.com ServerAdmin youradmin@yourdomain.com DocumentRoot /home/user/.virtualenvs/myprojectenv/public_html <Directory /home/user/.virtualenvs/myprojectenv/myproject/myproject> <Files wsgi.py> Require all granted </Files> </Directory> ErrorLog /home/user/.virtualenvs/myprojectenv/logs/error.log CustomLog /home/user/.virtualenvs/myprojectenv/logs/access.log combined WSGIScriptAlias / /home/user/.virtualenvs/myprojectenv/myproject/myproject/wsgi.py WSGIDaemonProcess myproject python- path=/home/user/.virtualenvs/myprojectenv/prisec:/home/user/.virtualenvs/m yprojectenv/lib/python3.4/site-packages WSGIProcessGroup myproject Alias /static /home/user/.virtualenvs/myprojectenv/public_html/static <Directory /home/user/.virtualenvs/myprojectenv/public_html/static> Require all granted </Directory> Alias /media /home/user/.virtualenvs/myprojectenv/public_html/media <Directory /home/user/.virtualenvs/myprojectenv/public_html/media> Require all granted </Directory>
1) La première chose que nous devrions faire avec nos fichiers de projet nouvellement créés est d'ajuster les paramètres. Ouvrez le fichier de paramètres avec votre éditeur de texte:
au bas du fichier, nous ajouterons une ligne pour configurer ce répertoire. Django utilise le paramètre static_root pour déterminer le répertoire dans lequel ces fichiers devraient aller. Nous allons utiliser un peu de python pour le dire d'utiliser un répertoire appelé "statique" dans le répertoire principal de notre projet: p> 2) Nous pouvons collecter tout le contenu statique dans l'emplacement de répertoire que nous avons configuré en tapant: p> Vous devrez confirmer l'opération. Les fichiers statiques seront placés dans un répertoire appelé statique dans votre répertoire de projet. P> 3) Vous avez besoin de l'adaptateur MOD-WSGI pour configurer Django à Apache.
Installez WSGI LIB comme ci-dessous. P> 4) au bas du fichier, /etc/apache2/sites-Available/000-default.confled/000-default.confxxx > 5) Redémarrez le serveur Apache2: P> geit myProject / paramètres.py code> p>
static_root = os.path.join (base_dir, "statique /") Code> p>
./ manage.py collectetstatique code> P>
sudo apt-get install libapache2-mod-wsgi
sudo a2enmod wsgi code> p>
sudo service apache2 restart
C'est une très belle réponse. En fait, je pensais que c'était un test dans la file d'attente de révision. Bon travail.
Le grenier Apache a été créé en novembre 2008 pour fournir un processus et des solutions afin de préciser lorsqu'un projet Apache a atteint sa fin de vie. mod_python est dans le grenier. Utilisez mod_wsgi