Je voulais créer un environnement Flask sur le serveur de location Sakura (standard), mais j'ai eu du mal car je ne pouvais pas utiliser sudo et le shell par défaut était cshell, j'ai donc dû apporter quelques modifications à l'article de référence sur le Web. (Pour les débutants)
--0. Confirmation d'environnement ―― 1. Construisez un environnement python en utilisant pyenv ―― 2. Installez flask à l'aide de pip dans l'environnement python intégré ―― 3. Réglez cgi et vérifiez le fonctionnement de l'application Flask.
Le répertoire des utilisateurs sur le serveur de location Sakura est / home /
python
$ cd /home/<username>/
$ cd $HOME
$ cd ~/
$ cd /home/fififactory/
Après cela, nous placerons la configuration dans le répertoire utilisateur.
Vérifiez l'emplacement et la version de Python installés par défaut
python
$ which python
/usr/local/bin/python
$ python -V
2.7.3
Vérification de la coque
python
$ echo $SHELL
csh
Ici, les personnes bash et zsh sortent du cadre de cet article.
Puisque git peut être utilisé sur le serveur de location Sakura, je vais le télécharger.
Après avoir pratiqué, j'écrirai des commandes avec un script shell. (Ce sera utile lorsque vous reviendrez plus tard. Vous pouvez l'exécuter en appuyant directement sur la commande, donc je pense que cela convient à ceux qui sont gênants)
python
#nom de fichier: pyenv-download.sh
#!/bin/csh <-Précisez que cela fonctionne avec cshell.
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Cette commande vous indique d'utiliser git pour enregistrer le référentiel pyenv dans le dossier ~ / .pyenv à partir de https://github.com/yyuu/pyenv.git.
Enregistrez ensuite le script shell (pyenv-download.sh) dans votre répertoire utilisateur et exécutez le shell.
python
#Ajoutez l'autorisation d'exécution.
$ chmod 755 pyenv-download.sh
#Exécuter le script shell
$ ~/pyenv-download.sh
Maintenant que vous avez téléchargé pyenv, il est temps de l'installer.
.cshrc
python
# $FreeBSD: src/share/skel/dot.cshrc,v 1.14.6.1 2008/11/25 02:59:29 kensmith Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
#
.....
(Entrez à la fin)
# Setting for pyenv
# *****************
if ( -e $HOME/.pyenv/bin/pyenv ) then
echo '>> Exist pyenv'
#Définir le chemin racine de pyenv
setenv PYENV_ROOT $HOME/.pyenv
#Ajouter le répertoire pyenv à PATH
setenv PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
#Le répertoire temporaire par défaut~/Changer en tmp
setenv TMPDIR $HOME/tmp
#Redémarrez pyenv
pyenv rehash
else
echo '>> NO INSTALL pyenv'
endif
Cette commande utilise une instruction if pour gérer conditionnellement si $ HOME / .pyenv / bin / pyenv existe. Et lorsque pyenv existe, il passe par les paramètres de répertoire et de chemin. (TMDIR peut ne pas avoir besoin d'être inclus dans l'instruction if.)
J'ai réécrit le shell, alors laissez-moi le relire.
python
$ source $HOME/.cshrc
Maintenant, construisons un environnement python en utilisant pyenv.
Tout d'abord, téléchargez la version de python à utiliser. La commande est pyenv install.
python
$ pyenv install --list #Consultez la liste d'installation
$ pyenv install 2.7.9 # python2.7.Installer 9
Cependant, ce n'est pas encore utilisable. Seule cette version de python est préparée dans le répertoire pyenv.
Puisque pyenv gère l'environnement pour chaque répertoire, créez un répertoire dans un emplacement approprié.
python
#Créer un répertoire pour l'environnement virtuel(L'emplacement est arbitraire)
$ mkdir $HOME/tmp/python
$ cd $HOME/tmp/python
Vérifiez le chemin et la version de python à ce moment-là.
python
$ which python #Vérifiez le python actuel
/usr/local/bin/python
$ pyton -V
2.7.3
Il devrait sortir pour ce qui précède. Assurez-vous de conserver les valeurs par défaut de Sakura.
python
$ pyenv local 2.7.9 #Construire un python local
$ pyenv local #Vérifiez s'il est défini
python
$ whitch python
/home/fififactory/.pyenv/shims/python
$ python -V
2.7.9
Vous pouvez maintenant voir que python est spécifié dans / shims / python dans pyenv. C'est ce que j'ai mis dans le chemin en .cshrc. Il est donc bloqué si le paramètre de chemin .cshrc ne fonctionne pas. (Je me suis coincé)
construction de l'environnement python terminée
Maintenant que vous pouvez utiliser pip grâce à pyenv, mettons flask dans l'environnement python local.
Tout d'abord, créez un environnement pour Flask avec virtualenv.
python
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
$ pyenv virtualenv 3.4.2 3.4.2-flask
En tant qu'environnement basé sur la version 3.4.2 de python, j'ai créé un environnement virtuel nommé 3.4.2-flask (n'importe quel nom).
Installez Flask avec pip. Comme précédemment, accédez au répertoire dans lequel vous souhaitez définir l'environnement et tapez la commande suivante.
python
$ pyenv local 3.4.2-flask
$ pip install Flask
Si vous avez Flask dans la liste des pip, vous avez terminé.
Préparez un répertoire pour les tests d'accès sous le répertoire www du répertoire utilisateur.
python
mkdir ~/www/flask-cgi-test
mkdir ~/www/flask-cgi-test/hello
cd ~/www/flask-cgi-test/hello
Préparez trois fichiers dans le répertoire / hello /.
(1) .htaccess
python
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /flask-cgi-test/hello/index.cgi/$1 [QSA,L]
(2) appFlask.py
python
# coding: utf-8
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hello!"
if __name__ == '__main__':
app.run()
(3) index.cgi
python
#!/home/fififactory/.pyenv/versions/3.4.2-flask/bin/python
import cgitb
cgitb.enable()
from wsgiref.handlers import CGIHandler
from appFlask import app
CGIHandler().run(app)
Accédez à http: // <username> .sakura.ne.jp / flask-cgi-test / hello
Si bonjour apparaît, c'est réussi.
Lorsque j'ai essayé de créer une application Web, je m'inscrivais avec enthousiasme auprès de Sakura et essayais d'exécuter Flask, mais contrairement à l'environnement local, je ne pouvais pas utiliser sudo ou je ne pouvais pas l'installer sans privilèges d'administrateur. Il a fallu environ 4 jours pour déplacer cet article. Ce à quoi j'étais le plus accro, c'est que je ne comprenais pas vraiment le script shell et qu'il était trop tard pour remarquer que le shell par défaut était chs. Ceci est un mémorandum pour les débutants, mais je l'ai posté avec l'espoir qu'il serait utile à ceux qui sont également dépendants de la construction d'un environnement. Si vous faites une erreur, veuillez commenter.
Merci pour votre visite.
[.cshrc --csh, paramètres tcsh](http://technique.sonots.com/?UNIX%2F%E8%A8%AD%E5%AE%9A%E3%80%81%E8%A8%AD% E5% AE% 9A% E3% 83% 95% E3% 82% A1% E3% 82% A4% E3% 83% AB% 2F.cshrc)
Utilisez pyenv et Flask sur le serveur de location Sakura
Recommended Posts