Les débutants en Python l'ont essayé en 3 jours, de l'installation du système d'exploitation à l'exécution de l'API Twitter

Ceci est l'article sur le 18e jour du calendrier de l'Avent des filles de points 2015.

Ravi de vous rencontrer, c'est 373_mina_mi. Le premier message de Qiita est soudainement devenu assez nerveux sur le calendrier de l'Avent. Mais écrivez quelque chose dans rllllho! !! On m'a dit, alors je ferai de mon mieux pour l'écrire. ~~ C'est trop bâclé, mais c'est tout à cause de M. rllllho qui m'a présenté! ~~

À propos de cet article

Cela dit, c'est un excellent article pour tous ceux qui soulèvent sérieusement les points qui ont été capturés lorsque Python de amateurs a créé l'environnement de développement et déplacé l'exemple de code en 3 jours (temps de travail réel 10h). J'espère que la personne qui s'est fait prendre par la même erreur sera sauvée ...

Environnement d'exécution

Fondamentalement Collecte d'informations sur Twitter avec Python (Construction de l'environnement) Collecte d'informations sur Twitter avec Python (API Twitter) Je me suis référé à la page de. Peut-être que vous pouvez généralement le faire rapidement avec seulement cette page de référence ...

La procédure qui a finalement fonctionné

L'emplacement de l'erreur et les détails de l'erreur sont difficiles à voir, je les ai donc résumés plus tard.

Construire Python 2.7.9 à partir du code source

OpenSSL ne fonctionne-t-il pas avec Python 2.7.6 lorsqu'une erreur se produit? J'ai trouvé une phrase typique, alors je l'ai remise. Je l'ai essayé plus tard et cela a fonctionné sur 2.7.6, donc je ne pense pas que ce soit nécessaire ici.


Préalablement


#Installez OpenSSL
$sudo apt-get install libssl-dev

#Installez zlib
$ sudo apt-get install zlib1g-dev

Construisez à partir du fichier source avec ce dont vous avez besoin

$sudo wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
$tar xvzf Python-2.7.9.tgz
$cd Python-2.7.9
$./configure --prefix=/opt/python2.7.9 --enable-unicode=ucs4 --with-zlib --with-ensurepip=install
$make 
$sudo make install

Ceci termine l'installation.

$ /opt/python2.7.9/bin/python -V
Python 2.7.9

De plus, j'ai confirmé que Python 2.7.9 était correctement installé!

Créer un environnement en utilisant différentes versions de Python avec virtualenv

Installez virtualenv

sudo apt-get install python-dev python-virtualenv

Cette fois, j'ai créé un répertoire twi-py directement sous mon répertoire personnel et construit un environnement Python 2.7.9. Si vous l'exécutez docilement tel quel, une erreur se produira.

$sudo easy_install virtualenv==1.10.1

Après avoir couru

$virtualenv --python=/opt/python2.7.9/bin/python twi-py

Pour changer d'environnement Python, passez au twi-py créé

$ source bin/activate

Si l'invite dit `` (twi-py) '', c'est OK. Si vous vérifiez la version Python dans cet état, cela devrait être 2.7.9!

Mettre la bibliothèque Python pour l'authentification OAuth avec l'installation de pip

Avec le module ci-dessus installé Collecte d'informations sur Twitter avec Python (API Twitter) Je vais l'omettre car ça va vite dans la rue. Si vous n'entrez pas, l'erreur festival sera en bas ...

Exécution d'un exemple de code

Collecte d'informations sur Twitter avec Python (API Twitter) Parce que ça va vite dans la rue, ry J'ai cherché `` dots. Women's Club ''

(twi-py)***@***-VirtualBox:~/twi-py$ python twi-sample1.py 
tweet_id: 676300237133090817
created_at: Mon Dec 14 07:18:36 +0000 2015
user_id: 1703590964
user_desc: 「dots.Est un service d'information sur les sessions d'études d'ingénieur qui vous permet de rechercher des sessions d'étude avec le contenu qui vous intéresse lorsque vous voulez savoir à tout moment, n'importe où.
screen_name: eventdots
user_name: eventdots

Pour le moment, des points, semble avoir été capturé. Je veux bien comprendre les paramètres et réessayer diverses choses, mais cette fois je suis là pour le moment! C'était la limite pour arriver à temps pour le calendrier de l'Avent _ (: 3 ”∠) _




Où et la cause de l'erreur

alors. Il a fallu trois jours pour exposer la cause qui a finalement déplacé l'échantillon. Je ne peux nier l'avantage de personne, mais je suis sûr qu'il y a des gens qui rencontreront la même erreur ...! !!

Jusqu'à l'installation d'ubuntu14.04

"Installez simplement VirtualBox et mettez Ubuntu dessus" La première chose qui m'a attiré a été la résolution de l'écran.

Pour une raison quelconque, la taille de l'écran ne peut pas être modifiée de 640 x 480. Le résultat Comment changer la taille de l'écran (résolution) d'Ubuntu installé dans VirtualBox en une valeur autre que 640x480 Je l'ai trouvé et je l'ai résolu en toute sécurité en faisant cette rue.

Je ne peux pas créer d'environnement avec virtualenv

virtualenv --python=/opt/python2.7.9/bin/python twi-py Quand j'essaye, j'obtiens une erreur.


***@***VirtualBox:~$ virtualenv --python=/opt/python2.7.9/bin/python twi-py
Running virtualenv with interpreter /opt/python2.7.9/bin/python
New python executable in twi-py/bin/python
Installing setuptools, pip...
  Complete output from command /home/Annuaire personnel/twi-py/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip:
  Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/share/python-virtualenv/pip-1.5debian1-py2.py3-none-any.whl/pip/__init__.py", line 10, in <module>
  File "/usr/share/python-virtualenv/pip-1.5debian1-py2.py3-none-any.whl/pip/util.py", line 18, in <module>
  File "/usr/share/python-virtualenv/pip-1.5debian1-py2.py3-none-any.whl/pip/_vendor/distlib/version.py", line 14, in <module>
  File "/usr/share/python-virtualenv/pip-1.5debian1-py2.py3-none-any.whl/pip/_vendor/distlib/compat.py", line 31, in <module>
ImportError: cannot import name HTTPSHandler
----------------------------------------
...Installing setuptools, pip...done.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 2339, in <module>
    main()
  File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 825, in main
    symlink=options.symlink)
  File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 993, in create_environment
    install_wheel(to_install, py_executable, search_dirs)
  File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 961, in install_wheel
    'PIP_NO_INDEX': '1'
  File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 903, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /home/Annuaire personnel/twi-py/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 1

Comme conclusion [[Contre-mesures d'erreur] Erreur OS: Commande ・ ・ ・ "import sys, pip; sys ... d "] + sys.argv [1:])) "setuptools pip a échoué avec le code d'erreur 1](http: // qiita .com / fantm21 / items / 05946b81df4f7ab35377) Comme je l'ai écrit dans l'exemple de réussite ci-dessus, en se référant à

$sudo easy_install virtualenv==1.10.1

Après avoir exécuté virtuslenv, il a été construit.

J'ai l'impression d'être en colère de ne pas avoir eu zlib en premier lieu, mais j'ai oublié les détails parce que je n'ai pas réussi à obtenir le journal ...

Je ne peux pas installer pip

Il semble que pip soit à l'origine inclus dans Python 2.7.9, Quand j'essaye d'installer le pip conformément à l'article auquel j'ai fait référence

(twi-py)***@***VirtualBox:~/twi-py$ pip install requests requests_oauthlib
Traceback (most recent call last):
  File "/home/Annuaire personnel/twi-py/bin/pip", line 9, in <module>
    load_entry_point('pip==1.4.1', 'console_scripts', 'pip')()
  File "/home/Annuaire personnel/twi-py/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/home/Annuaire personnel/twi-py/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point
    return ep.load()
  File "/home/Annuaire personnel/twi-py/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/home/Annuaire personnel/twi-py/lib/python2.7/site-packages/pip/__init__.py", line 10, in <module>
    from pip.util import get_installed_distributions, get_prog
  File "/home/Annuaire personnel/twi-py/lib/python2.7/site-packages/pip/util.py", line 17, in <module>
    from pip.vendor.distlib import version
  File "/home/Annuaire personnel/twi-py/lib/python2.7/site-packages/pip/vendor/distlib/version.py", line 13, in <module>
    from .compat import string_types
  File "/home/Annuaire personnel/twi-py/lib/python2.7/site-packages/pip/vendor/distlib/compat.py", line 31, in <module>
    from urllib2 import (Request, urlopen, URLError, HTTPError,
ImportError: cannot import name HTTPSHandler

Il semble que pip ne soit pas inclus par défaut, j'ai donc vérifié Installez Python 2.7.9 et Python 3.4.x avec pip. Installez pip en vous référant à. Si vous essayez, cette fois J'étais en colère sans ssl ouvert. De plus, lorsque j'ai essayé de créer un environnement avec virtualenv, je me suis senti en colère parce qu'il n'y avait pas de zlib. Donc, en conclusion Préalablement


#Installez OpenSSL
$sudo apt-get install libssl-dev

#Installez zlib
$ sudo apt-get install zlib1g-dev

Ensuite, redémarrez l'installation de Python à partir de configure! Donc, je suis arrivé à l'exemple de réussite que j'ai écrit ci-dessus.

Erreur lors de la tentative d'exécution du fichier d'exemple

Enfin, vous pouvez passer par pip-install et exécuter l'exemple! !! L'erreur que j'ai rencontrée quand j'ai pensé.

(twi-py)***@***VirtualBox:~/twi-py$ python twi-sample1.py
Error code: 401
Traceback (most recent call last):
  File "twi-sample1.py", line 63, in <module>
    main()
  File "twi-sample1.py", line 19, in main
    for tweet in tweets["statuses"]:
TypeError: 'NoneType' object has no attribute '__getitem__'

TypeError: 'NoneType' object has no attribute '__getitem__'? Le type d'objet est-il différent? Mais cela ne semble pas être une erreur de module? ~~ * Je suis un débutant en Python qui se fâche à la fin de chaque phrase, alors devinez ~~

Donc, la conclusion. C'était une copie de la clé API ...

2015-12-18 23_07_37-ubuntu (スナップショット 1) [実行中] - Oracle VM VirtualBox.png

Et une fois que cela a été découvert et que l'exemple a été exécuté avec succès en Python 2.7.9, Peut-être ... je pensais créer un virtualenv avec Python 2.7.6 de la même manière ... Cela a fonctionné comme prévu. J'ai peur des copypémis! !! !! Cependant, j'ai eu une erreur avec SSL ou quelque chose du genre, donc je pense que c'est parce que je n'ai pas mis cette partie correctement avec apt-get.

Cependant, il m'a fallu plus de deux jours pour mettre Python 2.7.9 dans la zone pip, donc si je pouvais le copier et le coller correctement, j'avais l'impression que je pouvais faire quelque chose comme ça en trois jours. Je suis déprimé. Mais est-ce un passe-temps ...

Recommended Posts

Les débutants en Python l'ont essayé en 3 jours, de l'installation du système d'exploitation à l'exécution de l'API Twitter
J'ai essayé de créer une API list.csv avec Python à partir de swagger.yaml
Un débutant Python a essayé d'implémenter l'API REST en un jour
J'ai essayé de toucher Python (installation)
[Lambda] [Python] Publier sur Twitter depuis Lambda!
Accéder à l'API Twitter avec Python
les débutants en python ont essayé de le découvrir
traitement pour utiliser les données notMNIST en Python (et essayé de les classer)
Tout, de la création d'un environnement Python à son exécution sous Windows
Collecter des informations sur Twitter avec Python (API Twitter)
J'ai essayé d'implémenter PLSA en Python
J'ai essayé d'implémenter PLSA dans Python 2
Tweet à l'aide de l'API Twitter en Python
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
Exemple de code pour obtenir oauth_token et oauth_token_secret de l'API Twitter en Python 2.7
J'ai essayé d'implémenter ADALINE en Python
J'ai essayé d'implémenter PPO en Python
Convertir de Markdown en HTML en Python
J'ai essayé de refactoriser le code du modèle publié dans "Obtenir des images de l'API Flickr avec Python" (Partie 2)
Explication API pour toucher mastodonte de python
Connectez-vous à l'API Websocket de Coincheck depuis Python
Introduction à la base de données Graph Neo4j en Python pour les débutants (pour Mac OS X)
Du dessin de fichier au graphique en Python. Élémentaire élémentaire
Essayez de calculer RPN avec Python (pour les débutants)
J'ai essayé d'implémenter TOPIC MODEL en Python
J'ai essayé d'implémenter le tri sélectif en python
J'ai essayé de collecter automatiquement des images érotiques de Twitter à l'aide de l'API Cloud Vision de GCP
[Pour les débutants] Comment utiliser la commande say avec python!
Traduire de Visual Studio 2017 vers Python (API Microsoft Translator Text)
Développement d'applications pour tweeter en Python à partir de Visual Studio 2017
Notification PUSH de Python vers Android à l'aide de l'API de Google
J'ai essayé d'implémenter un pseudo pachislot en Python
Configuration de RaspberryPi3 (STRETCH) depuis l'installation du système d'exploitation vers Hello World
J'ai essayé d'implémenter le poker de Drakue en Python
J'ai essayé d'implémenter GA (algorithme génétique) en Python
De l'achat d'un ordinateur à l'exécution d'un programme sur python
Essayez de supprimer des tweets en masse à l'aide de l'API de Twitter
Convertir l'API asynchrone de style callback en async / await en Python
Construction de l'environnement de développement Python 2020 [De l'installation de Python à l'introduction à la poésie]
J'ai essayé de résumer comment utiliser les pandas de python
Python: peut être répété en lambda
Python Open CV a essayé d'afficher l'image sous forme de texte.
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
API Evernote en Python
API C en Python 3
Essayez de le faire avec GUI, PyQt en Python
J'ai essayé d'implémenter un automate cellulaire unidimensionnel en Python
Comment découper un bloc de plusieurs tableaux à partir d'un multiple en Python
Obtenez votre fréquence cardiaque à partir de l'API fitbit en Python!
J'ai essayé la gestion du suivi avec l'API Twitter et Python (facile)
[IPdb] Les débutants en développement Web ont tenté de résumer le débogage avec Python
J'ai essayé "Comment obtenir une méthode décorée en Python"
Comment échantillonner à partir de n'importe quelle fonction de densité de probabilité en Python
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
[Pour les débutants] Script dans 10 lignes (4. Connexion de python à sqlite3)