Je pense que Pythonista est l'environnement Python le plus connu pour iOS. Personnellement Pythonista
J'ai été pris sur ce point et je ne l'ai pas acheté. Un jour, une application appelée "Pyto" a été introduite dans Nikkei Software, et quand je l'ai recherchée, les points suivants étaient plus attrayants que Pythonista, alors je l'ai achetée.
Cet article explique comment utiliser Pyto et ses fonctions de base.
iPad pro11(2018)64GB (iOS13.3.1) Pyto(11.4)
Lorsque vous démarrez l'application pour la première fois, l'écran de sélection d'un fichier s'affiche. Ouvrez le fichier à n'importe quel emplacement ou créez-en un nouveau. De plus, le bouton "..." de cet écran (le bouton indiqué par la flèche rose sur la figure) ~~ (Ajouté le 22/04/2020 (v11.8.3): changé en icône de puce) est une application ou Cela devient le menu et les paramètres de l'éditeur.
Le menu est comme indiqué ci-dessus. Ici, vous pouvez définir l'éditeur / l'apparence, utiliser le mode interactif et ajouter une nouvelle bibliothèque avec PyPi (les packages supplémentaires sont limités au python pur).
Mode interactif. Entrez le code dans la zone de texte ci-dessous. Vous pouvez également afficher des graphiques matplotlib en mode interactif.
Run module (python -m)
Vous pouvez exécuter le fichier .py
. J'exécute pip sur l'écran ci-dessus, mais je n'ai pas pu voir les informations sur le paquet dans pip show
. De plus, j'ai exécuté pip list
pour vérifier les packages installés, mais seuls les packages installés plus tard avec PyPi décrits plus tard étaient affichés.
PyPi
Vous pouvez utiliser PyPi pour vérifier la version de la bibliothèque installée ou ajouter une nouvelle bibliothèque. Cependant, il semble que seul du python pur puisse être ajouté. J'ai pu installer seaborn, mais pas tensorflow et pyaudio.
Dans la figure ci-dessus, le tracé de paires est exécuté en utilisant le seaborn installé. Lorsque vous utilisez matplotlib ou seaborn avec Pyto, si vous n'écrivez pas plt.clf ()
à la fin, les graphiques se chevaucheront lorsqu'ils seront exécutés plusieurs fois.
Contient un exemple de code utilisant OpenCV, sklearn, des modules GUI, etc.
Loaded modules
Les modules qui ont été chargés s'affichent. Vous pouvez également afficher le code source de ce module. Je ne sais pas à quoi ça sert.
Settings
Ceci est l'écran de réglage de l'éditeur. Il correspond à l'onglet logiciel (onglet espace). Vous pouvez également choisir parmi plusieurs types d'apparences d'éditeur et les personnaliser.
Ceci est l'écran de l'éditeur. Il y a une marque d'engrenage en bas à droite, mais ce n'est pas un paramètre d'application. Vous pouvez enregistrer le fichier en cours d'édition dans Siri et changer le répertoire actuel. Le coin inférieur gauche ... est une action de l'éditeur, et il semble que vous puissiez faire quelque chose avec le fichier. L'icône de signet à côté est la documentation Pyto. Il décrit comment utiliser les packages Pyto (outils GUI, etc.). Ce document est publié sur Internet et peut être trouvé à ici.
Les boutons en haut sont «Revenir à l'écran de sélection de fichier», «Rechercher / Remplacer», «Déboguer (pdb)» et «Exécuter» dans l'ordre des quatre carrés sur la gauche.
Vous pouvez également terminer la saisie lors de l'utilisation d'un clavier externe en appuyant sur un bouton tel que "V" en bas à droite de l'écran. Cela facilite le déplacement du curseur vers le navigateur lorsqu'il est utilisé avec le navigateur en vue fractionnée.
add-to-siri, arguments, current directory Vous pouvez définir add-to-siri, arguments et répertoire courant. Dans les arguments, vous pouvez définir les arguments à transmettre lorsque le programme est exécuté. Le répertoire courant vous permet de changer le répertoire courant. Si vous le modifiez, un avertissement s'affichera, mais vous pourrez l'exécuter sans problème même après avoir changé le répertoire courant. Le répertoire sélectionné ici dispose d'une autorisation de modification et vous pouvez parcourir et modifier les fichiers. Si vous ne pouvez pas charger un fichier local, vous pourrez peut-être le charger en sélectionnant un dossier ici.
(Ajouté le 22/04/2020 (v11.8.3): le design a changé)
Editor actions Actions de l'éditeur. 2to3 et noir sont disponibles par défaut.
Document. C'est le même que celui publié ici. Cliquez sur le bouton comme "V" en haut à droite pour passer en vue fractionnée.
J'ai fait du document une vue fractionnée.
La complémentation est possible. Appuyez pour sélectionner, ou utilisez la touche Tab pour sélectionner parmi les candidats et appuyez sur Entrée pour confirmer.
Le dossier utilisé pour la première fois ne peut pas être référencé ou modifié dans l'état initial. Dans ce cas, vous pouvez vous y référer ou le modifier en appuyant sur la marque de verrouillage en bas à droite et en sélectionnant le répertoire actuel.
Le clavier logiciel est le clavier par défaut iOS. Pyto ne fournit aucune clé étendue autre que la touche Tab. Par conséquent, écrire un programme sur iPhone est un peu difficile.
Les claviers externes (claviers Bluetooth, etc.) peuvent être utilisés sans difficulté. Vous pouvez également utiliser des touches de raccourci pour commenter, inverser le retrait, exécuter, etc., ce qui est raisonnablement confortable. Cependant, il n'était pas possible de faire un commentaire de lot avec plusieurs lignes sélectionnées.
Depuis OpenCV inclut un module dnn, j'ai essayé d'exécuter Mobilenet. Le code source a été emprunté à http://asukiaaa.blogspot.com/2018/03/opencvdnnpythonmobilenet.html et légèrement réécrit pour Pyto. La caméra est une caméra extérieure de l'iPad. Il n'y a pas eu de problème avec l'opération et la fréquence d'images était à un niveau qui ne semblait pas raide. Pour être honnête, j'ai été surpris car je ne m'attendais pas à ce que l'apprentissage en profondeur fonctionne sur les applications iOS.
Les données entraînées par MobileNet sont incluses dans ici
J'ai utilisé. Si vous avez iOS13 ou une version ultérieure, vous pouvez décompresser le zip, alors téléchargez-le au format zip.
Ensuite, extrayez le fichier ci-dessus dans n'importe quel dossier. JE,
python_code (dossier approprié)
├── MobileNet-Caffe-master
│ ├── mobilenet_v2.caffemodel
│ ├── mobilenet_v2_deploy.prototxt
│ └── synset.txt
├── mobilenet.py (fichier d'exécution)
C'était fabriqué. Des autorisations peuvent être requises dans certains endroits.
Le code source utilisé est spécifié sous forme de fichier avec des arguments de ligne de commande. Les arguments peuvent être spécifiés dans pyto, mais je l'ai écrit directement dans le programme comme suit.
import os
from cv2 import dnn
modelfolder = "./MobileNet-Caffe-master" #Dossier contenant des données entraînées
net = dnn.readNetFromCaffe(os.path.join(modelfolder, "mobilenet_v2_deploy.prototxt"), os.path.join(modelfolder, "mobilenet_v2.caffemodel"))
with open(os.path.join(modelfolder, "synset.txt"), "r") as f:
classNames = f.readlines()
showPreview = True
Après cela, je pense que cela fonctionnera si vous réécrivez les points suivants.
--Utilisez cv2.autorotate
(fait pivoter l'image en fonction de l'orientation de l'appareil)
cv2.destroyAllWindows
et cv2.waitKey
--Commenter toutes les fonctions print
#Comment écrire la rotation automatique
import cv2
device = 0
cap = cv2.VideoCapture(device)
while cap.isOpened():
ret, frame = cap.read()
if not ret:
continue
frame = cv2.autorotate(frame, device) #Ajouter cette partie
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
--Application universelle (compatible avec iPhone et iPad)
plt.clf ()
(mentionné ci-dessus).
――Le module GUI de Pyto peut-il être écrit presque de la même manière que pythonista?Si vous vous concentrez sur la création d'applications GUI, Pythonista, si vous vous concentrez sur le traitement, Pyto. Certaines bibliothèques sont en Pythonista mais pas en Pyto, c'est donc une bonne idée de comparer les bibliothèques intégrées dans la documentation.
Pyto est susceptible de continuer à se développer, donc j'ai senti que c'était une application très prometteuse.
Site officiel de Pyto: https://pyto.app/ Documentation Pyto: https://pyto.readthedocs.io/en/latest/
Recommended Posts