[Pratique] Créez une application Watson avec Python! # 1 [Discrimination linguistique]

Un des cours dans Developer Works, [Create Python apps] avec IBM Watson et IBM Bluemix](https://developer.ibm.com/courses/all/create-python-apps-ibm-watson-ibm-bluemix/).

Developer Works est enregistré lorsque vous vous connectez et complétez le texte, il est donc recommandé d'avoir un compte. (Les badges s'accumulent)

Je l'ai fait dans un environnement Mac. Pour être honnête, je pense que c'est un peu difficile à comprendre car je décrirai ce que j'ai fait dans presque toutes les lettres, il serait donc peut-être préférable de faire référence à cela comme un supplément en regardant la vidéo liée ci-dessus. Le matériel didactique parle à la fois de la version django de l'application et de la version flask, mais je ne trace que la version de django. Je pense.

スクリーンショット 2017-07-15 10.08.19.png

Allons-y!

Explore the development Environment

Construire un environnement virtuel

Ouvrez un terminal. Si Python n'est pas sur votre PC, installez Python. Vérifiez la version python. $ which python3 Après confirmation, créez un environnement virtuel "d-env". La partie "3.6" sera remplacée par chaque version confirmée dans laquelle python3.

$ virtualenv d-env -p /Library/Frameworks/Python.framework/Versions/3.6/bin/python3


 Entrez d-env.
```$source d-env/bin/activate```

## Télécharger le matériel pédagogique
 Téléchargez watson-developer-cloud [python-primer-compagnon-code](https://github.com/watson-developer-cloud/python-primer-companion-code) sur github.
 Si vous créez deux environnements virtuels pour django et flask comme indiqué dans la vidéo, il peut être plus facile de créer un dossier parent qui les rassemble.
 Après avoir décompressé le fichier, il est préférable de le renommer en un nom court facile à utiliser plus tard, alors renommez le dossier téléchargé en "src" selon le guide.

## Installation de texte
 Ouvrez un terminal.

 Installez src / episode-1 / django / src / requirements.txt
 Accédez au répertoire où se trouve requirements.txt

#### **`$pip install -r requirements.txt (installation)`**
```txt (installation)


## Créer un nouveau projet dans un nouveau répertoire
 Ensuite, allez dans src / episode1 / django / src.
```mkdir tmp```Créez un répertoire appelé tmp avec.
```django-admin startproject projwatson```Vous pouvez créer projwatson sous le répertoire avec.
 Accédez à projwatson et

#### **`python manage.py run server lance l'application sur votre serveur local.`**
```py run server lance l'application sur votre serveur local.

 Cependant, l'écran ci-dessous apparaît et ne démarre pas correctement.
 ![スクリーンショット 2017-07-15 21.58.23.png](https://qiita-image-store.s3.amazonaws.com/0/141025/09357c21-8293-1653-d0e9-c9a117146329.png)
 Si vous ajoutez / wl / lang / à la fin de l'URL, un écran comme celui-ci apparaîtra.
 ![スクリーンショット 2017-07-15 15.14.37.png](https://qiita-image-store.s3.amazonaws.com/0/141025/d8c87505-ffae-eb4e-4735-d4c9a590a447.png)

 Cependant, cela ne fonctionne pas même si je le saisis encore.

 Qu'y a-t-il de mal à ne pas avoir un départ net comme dans le texte?

 https: // localhost: 8000 / admin est la page d'administration.
 Créons également un utilisateur privilégié Administration pour y entrer.

 Appuyez sur Ctrl + C pour sortir du mode exécution.

 django utilise SQLite3 par défaut, mais crée le SQL de migration à partir d'ici.

#### **`python manage.py makemigrations`**
```py makemigrations

 (Si rien n'est fait, le message «Aucun changement détecté» s'affiche.)


#### **`python manage.py migrate`**
```py migrate


 Créez un utilisateur administrateur.

#### **`python manage.py createsuperuser`**
```py createsuperuser


#### **`python manage.py shell`**
```py shell


## Modifier le fichier yml
 Ouvrez le dossier de ce projet que vous avez d'abord téléchargé dans un éditeur de texte. J'utilise [Atom](https://atom.io/).
 Réécrivez manifest.yml dans src / episode1 / django / src / projwatson. Réécrivez le domaine sur mybluemix.net et nommez et hôte avec le nom de l'application et son nom d'hôte que vous avez donné lorsque vous avez lancé le service python à partir du catalogue avec bluemix.
 De même, réécrivez le domaine, le nom et l'hôte dans manifest.yml dans src / episode1 / flask / src.

## Préparation à l'utilisation de Watson Service
 Revenez au terminal et installez Requests.
```pip install requests```
 Installez le SDK Watson Developer Cloud.
```pip install --upgrade watson-developer-cloud```
```pip freeze```

#### **`pip freeze > requirements.txt`**
```txt


 Ouvrez runtime.txt dans Atom et réécrivez-le dans la version de python que vous utilisez.

 Faites de même pour f-env (environnement pour flask).

Deploy to Bluemix
## Connectez-vous à bluemix
 * Effectuez le travail suivant dans le répertoire contenant le fichier manifest.yml.
 Le reste du travail est basé sur l'hypothèse que l'application a été déployée dans le sud des États-Unis.
 Définir les points de terminaison dans la région interne Bluemix US

#### **`cf api https://api.ng.bluemix.net`**

Connectez-vous à Bluemix. cf login -u (identifiant de compte bluemix) Après cela, il vous sera demandé le mot de passe, alors entrez-le. À ce stade, le mot de passe ne s'affichera pas à l'écran, alors saisissez-le soigneusement.

Vous pouvez maintenant créer une application sur blumiex en fonction du contenu de manifest.yml avec cf push ''. Cependant, dans mon cas, la version de python était 3.6.0 et elle ne correspondait pas à la version acceptée par Python Buildpack lorsque j'ai suivi ce flux, donc [Cloud Foundry Documentation](http: // docs. Selon cloudfoundry.org/buildpacks/python/), je viens de pousser avec cf push (nom de l'application) -b https: // github.com / cloudfoundry / buildpack-python.git '' et cela a fonctionné.

Ajouter des services Watson à votre application

Ajoutez un projet appelé watsonlanguage.

python manage.py startapp watsonlanguage



 Ouvrez les détails de l'application correspondante dans Bluemix (cliquez sur le champ de nom dans le tableau de bord)
 Cliquez sur "Nouvelle connexion" dans le champ de connexion.
 Sélectionnez "Traducteur de langue" dans le catalogue et sélectionnez ici la destination de la liaison dans le champ de connexion.
 ![スクリーンショット 2017-07-15 23.30.35.png](https://qiita-image-store.s3.amazonaws.com/0/141025/a2fbd1c2-5b3b-3c2b-2c58-43252acba8ea.png)
 Il sera disponible après le retraitement.

 Cliquez sur le champ de connexion de l'application que vous créez et cliquez sur "Afficher les informations d'identification". Puisque l'ID utilisateur et le mot de passe pour utiliser la fonction de traduction sont écrits, dans le fichier wl.py
try:
language_translation = LanguageTranslation(username='Your watson language translation service username key',
password='sevice password key')
 Intégrons-le dans la partie de.
 ![スクリーンショット 2017-07-15 23.33.43.png](https://qiita-image-store.s3.amazonaws.com/0/141025/92819593-4e63-da8d-04ff-f56a38631098.png)

 Je dois réécrire le contenu de certains fichiers.
 Tout d'abord, réécrivez le champ watson-developer-cloud dans requirements.txt de src / episode1 / django / src / projwatson en 0.26.1 pour le mettre à jour.
 De plus, le service qui était Watson Language Translation lorsque ce texte a été créé a été renommé en Watson Language Translator, il se trouve donc au début de wl.py dans src / episode1 / django / src / projwatson / watsonlanguage / views.
```from watson_developer_cloud import languagetranslationv2 as languagetranslation```À```from watson_developer_cloud import languagetranslatorv2 as languagetranslation```Réécrivons-le.
 Ensuite, lorsque vous accédez à (nom de l'application) / wl / lang depuis votre navigateur, vous devriez voir une application qui peut déterminer la langue dans laquelle se trouve la chaîne saisie!
 (Dans l'exemple ci-dessous, il est déterminé qu'il est allemand)
 ![スクリーンショット 2017-07-16 1.18.37.png](https://qiita-image-store.s3.amazonaws.com/0/141025/50cf7315-2d14-356e-9cf2-b8faf15c06f2.png)

 Eh bien, cette fois c'est fini.
 Je vous remercie pour votre travail acharné.





Recommended Posts

[Pratique] Créez une application Watson avec Python! # 1 [Discrimination linguistique]
[Pratique] Créez une application Watson avec Python! # 2 [Fonction de traduction]
Créez une application de bureau avec Python avec Electron
Faites une loterie avec Python
Faisons une interface graphique avec python.
Créer un système de recommandation avec python
Faisons un graphe avec python! !!
Faisons un jeu de shiritori avec Python
Démonisez une application Web Python avec Supervisor
Faisons la voix lentement avec Python
Faisons un langage simple avec PLY 1
Qt pour l'application de bureau de l'application Python
J'ai essayé un langage fonctionnel avec Python
Créez une application de scraping avec Python + Django + AWS et modifiez les tâches
Créez un framework Web avec Python! (1)
Faisons un bot Twitter avec Python!
Créez un framework Web avec Python! (2)
Je veux faire un jeu avec Python
Essayez de créer un code de "décryptage" en Python
Remplaçons UWSC par Python (5) Faisons un robot
Essayez de créer un groupe de dièdre avec Python
Essayez de créer un module Python en langage C
Faisons un outil de veille de commande avec python
Créez un Slackbot simple avec un bouton interactif en python
[Jouons avec Python] Créer un livre de comptes de ménage
J'ai créé une application de notification de nouvelles en ligne avec Python
Essayez de créer un jeu simple avec Python 3 et iPhone
Faire un point d'arrêt sur la couche c avec python
Créer un outil de formatage CSV avec Python Pandas Py Installer
Créons une application Mac avec Tkinter et py2app
Qu'est-ce que Dieu? Créez un chatbot simple avec python
[Super facile] Faisons un LINE BOT avec Python.
100 coups de traitement du langage avec Python 2015
Créez Puyopuyo AI avec Python
Créer un bookmarklet en Python
Créer un répertoire avec python
Faire un feu avec kdeplot
Créons un client de socket Web avec Python. (Authentification par jeton d'accès)
Associez Python Enum à une fonction pour la rendre appelable
Expérimentez pour créer un PDF indépendant pour Kindle avec Python
Créez une application météo résidente dans la barre de menus Mac avec des croupes!
[5e] J'ai essayé de créer un certain outil de type Authenticator avec python
[Python] Qu'est-ce qu'une instruction with?
[Python] Créez un graphique qui peut être déplacé avec Plotly
Résoudre ABC163 A ~ C avec Python
Faites fonctionner l'imprimante de reçus avec python
Manuel de graphisme Python avec Matplotlib.
Créez un bot LINE avec Python + heroku
Créer Apache Log CSV avec Python
Rubyist a essayé de créer une API simple avec Python + bouteille + MySQL
[2nd] J'ai essayé de créer un certain outil de type Authenticator avec python
100 traitements de langage avec Python
Faites un son avec le notebook Jupyter
Transformez plusieurs données numériques d'élévation en une seule image avec Python
Résoudre ABC166 A ~ D avec Python
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Page de création de décalage)