Python-Anfänger haben es in 3 Tagen von der Installation des Betriebssystems bis zur Ausführung der Twitter-API versucht

Dies ist der Artikel am 18. Tag von dots girls Adventskalender 2015.

Schön dich kennenzulernen, das ist 373_mina_mi. Qiitas erster Beitrag wurde im Adventskalender plötzlich ziemlich nervös. Aber schreibe etwas an rllllho! !! Mir wurde gesagt, also werde ich mein Bestes geben, um es zu schreiben. ~~ Es ist zu schlampig, aber es ist alles wegen Mr. Rllllho, der mich vorgestellt hat! ~~

Über diesen Artikel

Trotzdem ist es ein großartiger Artikel für alle, die ernsthaft die Punkte ansprechen, die beim Erstellen der Entwicklungsumgebung durch Python de Amateure und Verschieben des Beispielcodes in 3 Tagen (tatsächliche Arbeitszeit 10 Stunden) erfasst wurden. Ich hoffe, dass die Person, die von demselben Fehler erfasst wurde, gerettet wird ...

Ausführungsumgebung

Grundsätzlich Sammeln von Informationen von Twitter mit Python (Umgebungskonstruktion) Sammeln von Informationen von Twitter mit Python (Twitter API) Ich bezog mich auf die Seite von. Vielleicht können Sie es normalerweise schnell mit nur dieser Referenzseite tun ...

Das Verfahren, das endlich funktioniert hat

Die Fehlerstelle und die Fehlerdetails sind schwer zu erkennen, daher habe ich sie später zusammengefasst.

Erstellen Sie Python 2.7.9 aus dem Quellcode

Funktioniert OpenSSL nicht mit Python 2.7.6, wenn ein Fehler auftritt? Ich habe einen typischen Satz gefunden und ihn wieder eingefügt. Ich habe es später versucht und es hat auf 2.7.6 funktioniert, daher denke ich, dass es hier wahrscheinlich unnötig ist.


Vorweg


#Installieren Sie OpenSSL
$sudo apt-get install libssl-dev

#Installieren Sie zlib
$ sudo apt-get install zlib1g-dev

Erstellen Sie aus der Quelldatei mit dem, was Sie benötigen

$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

Damit ist die Installation abgeschlossen.

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

Außerdem habe ich bestätigt, dass Python 2.7.9 ordnungsgemäß installiert wurde!

Erstellen Sie eine Umgebung, indem Sie verschiedene Versionen von Python mit virtualenv verwenden

Installieren Sie virtualenv

sudo apt-get install python-dev python-virtualenv

Dieses Mal habe ich ein Twi-Py-Verzeichnis direkt unter meinem Home-Verzeichnis erstellt und eine Python 2.7.9-Umgebung erstellt. Wenn Sie es gehorsam ausführen, tritt ein Fehler auf.

$sudo easy_install virtualenv==1.10.1

Nach dem Rennen

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

Um die Python-Umgebung zu wechseln, wechseln Sie zum erstellten Twi-Py

$ source bin/activate

Wenn die Eingabeaufforderung "(twi-py)" lautet, ist dies in Ordnung. Wenn Sie die Python-Version in diesem Zustand überprüfen, sollte sie 2.7.9 sein!

Setzen Sie die Python-Bibliothek für die OAuth-Authentifizierung mit pip install ein

Mit dem oben genannten Modul installiert Sammeln von Informationen von Twitter mit Python (Twitter API) Ich werde es weglassen, weil es schnell auf der Straße geht. Wenn Sie nicht teilnehmen, befindet sich das Fehlerfest unten ...

Beispielcode ausführen

Sammeln von Informationen von Twitter mit Python (Twitter API) Weil es schnell auf der Straße geht, ry Ich suchte nach "Punkten. Frauenclub"

(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.Ist ein Informationsdienst für Ingenieurstudien, mit dem Sie jederzeit und überall nach Studiensitzungen mit den gewünschten Inhalten suchen können, wenn Sie dies wissen möchten.
screen_name: eventdots
user_name: eventdots

Vorerst Punkte. Scheint gefangen worden zu sein. Ich möchte die Parameter richtig verstehen und verschiedene Dinge erneut versuchen, aber diesmal bin ich vorerst hier! Dies war die Grenze, um es rechtzeitig zum Adventskalender zu schaffen _ (: 3 ”∠) _




Wo und Ursache des Fehlers

damit. Es dauerte drei Tage, um die Ursache aufzudecken, die die Probe schließlich bewegte. Ich kann den Vorteil von niemandem leugnen, aber ich bin sicher, dass es Menschen auf der Welt gibt, die auf denselben Fehler stoßen werden ...! !!

Bis zur Installation von ubuntu14.04

"Installieren Sie einfach VirtualBox und setzen Sie Ubuntu darauf" Das erste, was mich auffiel, war die Bildschirmauflösung.

Aus irgendeinem Grund kann die Bildschirmgröße nicht von 640 x 480 geändert werden. Das Ergebnis So ändern Sie die Bildschirmgröße (Auflösung) von Ubuntu, das in VirtualBox installiert ist, auf etwas anderes als 640 x 480 Ich habe es gefunden und sicher gelöst, indem ich diese Straße gemacht habe.

Ich kann mit virtualenv keine Umgebung erstellen

virtualenv --python=/opt/python2.7.9/bin/python twi-py Wenn ich es versuche, erhalte ich eine Fehlermeldung.


***@***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/Home-Verzeichnis/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/Home-Verzeichnis/twi-py/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 1

Als Schlussfolgerung [[Fehlergegenmaßnahmen] Betriebssystemfehler: Befehl import ・ ・ "import sys, pip; sys ... d "] + sys.argv [1:])) "setuptools pip fehlgeschlagen mit Fehlercode 1](http: // qiita .com / fantasm21 / items / 05946b81df4f7ab35377) Wie ich im obigen Erfolgsbeispiel geschrieben habe, unter Bezugnahme auf

$sudo easy_install virtualenv==1.10.1

Nach der Ausführung von "virtuslenv" wurde es gebaut.

Ich bin wütend, dass ich überhaupt keine Zlib hatte, aber ich habe die Details vergessen, weil ich das Protokoll nicht bekommen habe ...

Ich kann nicht pip installieren

Es scheint, dass pip ursprünglich in Python 2.7.9 enthalten war. Wenn ich versuche, Pip gemäß dem Artikel zu installieren, auf den ich verwiesen habe

(twi-py)***@***VirtualBox:~/twi-py$ pip install requests requests_oauthlib
Traceback (most recent call last):
  File "/home/Home-Verzeichnis/twi-py/bin/pip", line 9, in <module>
    load_entry_point('pip==1.4.1', 'console_scripts', 'pip')()
  File "/home/Home-Verzeichnis/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/Home-Verzeichnis/twi-py/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point
    return ep.load()
  File "/home/Home-Verzeichnis/twi-py/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/home/Home-Verzeichnis/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/Home-Verzeichnis/twi-py/lib/python2.7/site-packages/pip/util.py", line 17, in <module>
    from pip.vendor.distlib import version
  File "/home/Home-Verzeichnis/twi-py/lib/python2.7/site-packages/pip/vendor/distlib/version.py", line 13, in <module>
    from .compat import string_types
  File "/home/Home-Verzeichnis/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

Es scheint, dass pip nicht standardmäßig enthalten ist, also habe ich es überprüft Installieren Sie Python 2.7.9 und Python 3.4.x mit pip. Installieren Sie das Rohr gemäß. Wenn Sie es versuchen, diesmal Ich war wütend ohne offene SSL. Als ich versuchte, eine Umgebung mit virtualenv zu erstellen, war ich wütend, dass es keine zlib gab. Also abschließend Vorweg


#Installieren Sie OpenSSL
$sudo apt-get install libssl-dev

#Installieren Sie zlib
$ sudo apt-get install zlib1g-dev

Dann installieren Sie Python von configure neu! So kam ich zu dem Erfolgsbeispiel, das ich oben geschrieben habe.

Fehler beim Versuch, eine Beispieldatei auszuführen

Schließlich können Sie die Pip-Installation durchführen und das Beispiel ausführen! !! Der Fehler, auf den ich gestoßen bin, als ich nachdachte.

(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__'? Ist der Objekttyp unterschiedlich? Dies scheint aber kein Modulfehler zu sein? ~~ * Ich bin ein Python-Anfänger, der am Ende jedes Satzes wütend wird, also raten Sie bitte ~~

Also die Schlussfolgerung. Es war eine Kopie des API-Schlüssels ...

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

Und nachdem dies entdeckt und das Beispiel erfolgreich in Python 2.7.9 ausgeführt wurde, Vielleicht ... Ich dachte, ich würde mit Python 2.7.6 auf die gleiche Weise eine virtuelle Umgebung erstellen ... Es hat wie erwartet funktioniert. Ich habe Angst vor Copypemis! !! !! Ich habe jedoch einen Fehler aufgrund von SSL oder Ähnlichem erhalten, daher glaube ich, dass ich diesen Teil mit apt-get nicht richtig platziert habe.

Ich habe jedoch mehr als zwei Tage gebraucht, um Python 2.7.9 in den Pip-Bereich zu bringen. Wenn ich es also richtig kopieren und einfügen könnte, hätte ich das Gefühl, dass ich in drei Tagen so etwas tun könnte. Ich bin deprimiert. Aber ist es ein Hobby ...

Recommended Posts

Python-Anfänger haben es in 3 Tagen von der Installation des Betriebssystems bis zur Ausführung der Twitter-API versucht
Ich habe versucht, API list.csv mit Python aus swagger.yaml zu erstellen
Python-Anfänger haben versucht, die REST-API an einem Tag zu implementieren
Ich habe versucht, Python zu berühren (Installation)
[Lambda] [Python] Von Lambda auf Twitter posten!
Greifen Sie mit Python auf die Twitter-API zu
Python-Anfänger versuchten es herauszufinden
Verarbeitung zur Verwendung von notMNIST-Daten in Python (und versucht, sie zu klassifizieren)
Alles vom Erstellen einer Python-Umgebung bis zur Ausführung unter Windows
Sammeln von Informationen von Twitter mit Python (Twitter API)
Ich habe versucht, PLSA in Python zu implementieren
Ich habe versucht, PLSA in Python 2 zu implementieren
Tweet mit der Twitter-API in Python
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
Codebeispiel zum Abrufen von oauth_token und oauth_token_secret der Twitter-API in Python 2.7
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, PPO in Python zu implementieren
In Python von Markdown in HTML konvertieren
Ich habe versucht, den unter "Abrufen von Bildern von der Flickr-API mit Python" (Teil 2) veröffentlichten Vorlagencode zu überarbeiten.
API-Erklärung zum Berühren von Mastodon aus Python
Stellen Sie von Python aus eine Verbindung zur Websocket-API von coincheck her
Einführung in die Graph Database Neo4j in Python für Anfänger (für Mac OS X)
Von der Datei zur Diagrammzeichnung in Python. Grundstufe Grundstufe
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
Ich habe versucht, TOPIC MODEL in Python zu implementieren
Ich habe versucht, eine selektive Sortierung in Python zu implementieren
Ich habe versucht, mit der Cloud Vision API von GCP automatisch erotische Bilder von Twitter zu sammeln
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
Übersetzen von Visual Studio 2017 nach Python (Microsoft Translator Text API)
App-Entwicklung zum Twittern in Python aus Visual Studio 2017
PUSH-Benachrichtigung von Python an Android mithilfe der Google-API
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
RaspberryPi3 (STRETCH) Setup von der Betriebssysteminstallation bis Hello World
Ich habe versucht, Drakues Poker in Python zu implementieren
Ich habe versucht, GA (genetischer Algorithmus) in Python zu implementieren
Vom Kauf eines Computers bis zur Ausführung eines Programms auf Python
Versuchen Sie, Tweets mithilfe der Twitter-API in großen Mengen zu löschen
Konvertieren Sie die asynchrone API im Callback-Stil in async / await in Python
Aufbau der Python-Entwicklungsumgebung 2020 [Von der Python-Installation bis zur Einführung in die Poesie]
Ich habe versucht zusammenzufassen, wie man Pandas von Python benutzt
Python: Kann in Lambda wiederholt werden
Python Open CV hat versucht, das Bild im Text anzuzeigen.
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Evernote-API in Python
C-API in Python 3
Versuchen Sie es mit GUI, PyQt in Python
Ich habe versucht, einen eindimensionalen Zellautomaten in Python zu implementieren
So schneiden Sie ein Block-Multiple-Array aus einem Multiple-Array in Python
Holen Sie sich Ihre Herzfrequenz von der Fitbit-API in Python!
Ich habe versucht, Follow Management mit Twitter API und Python (einfach)
[IPdb] Anfänger in der Webentwicklung haben versucht, das Debuggen mit Python zusammenzufassen
Ich habe versucht "Wie man eine Methode in Python dekoriert"
Wie man aus einer Wahrscheinlichkeitsdichtefunktion in Python tastet
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
[Für Anfänger] Skript innerhalb von 10 Zeilen (4. Verbindung von Python zu sqlite3)