2.圧倒的初心者

こういうプログラミング関連のサイトは無限にあるけど、初心者がやるやつって少なく、ちょっと楽しいことやってみたいけどサイトに書いてあるプログラミングのやり方とかはどこか専門用語が多くて分からないみたいな状況が多々あると思うので、そういう人たち向けになれば。

ちょいちょい用語の説明は省くかもしれませんが。笑

 

まずはじめに、tweepyのインストール。

え、tweepyってなんだって?

よくぞ聞いてくれた。

 

俺もよく分からない。

 

ただ前にRでtwitterRというライブラリを使ったことがあって、それに近い感じかなとふんでいる。

 

俺が思ってるのはpythontwitterをつなぐためのケーブルになってくれるようなやつ。tweepyを使えばpythonからデータをとれるし、ターミナルからツイートだってできる。

 

まぁ、ターミナルからツイートするくらいならTwitter開いてツイートしろよって感じだけどね、ハハッ。

でもbotとかには向いてるぽい。

 

 

でそのtweepyのインストール。問題発生。

これは初心者であることが原因な訳ではないと信じている。

 

Mac OS Sierraを使用。Pythonはバージョン2.7.10が標準装備されており、このバージョンではpipというパッケージ管理システムもデフォルトで入っているよう。

 

そしてコマンド sudo pip install tweepyを打ち込む。これでTweepyは問題なくインストールされる

 

 

はずだった。

なぜか突然のエラー。とりあえずエラーの内容をコピペしとく。(コマンド貼り付けが分からない)

 

 

Installing collected packages: six, oauthlib, requests-oauthlib, tweepy

Found existing installation: six 1.4.1

    DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.

    Uninstalling six-1.4.1:

Exception:

Traceback (most recent call last):

  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main

    status = self.run(options, args)

  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run

    prefix=options.prefix_path,

  File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 778, in install

    requirement.uninstall(auto_confirm=True)

  File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 754, in uninstall

    paths_to_remove.remove(auto_confirm)

  File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove

    renames(path, new_path)

  File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 267, in renames

    shutil.move(old, new)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move

    copy2(src, real_dst)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2

    copystat(src, dst)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat

    os.chflags(dst, st.st_flags)

OSError: [Errno 1] Operation not permitted: '/var/folders/zw/1n4qgzb54r9370s6ds23bx_c0000gn/T/pip-_xy5GJ-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'

 

 

わりとめっちゃ謎だった。

 

調べるとpythonのパスが通っていないんやない?みたいな話を見つける。元からインストールされてるのにパス通ってないってなに?と思いながら打つ。

 

which python

/usr/bin/python

 

うーんなんかだめなんか?と思い調べると、ここにpythonがあるのは良くないらしい?

http://walkingmask.hatenablog.com/entry/2015/11/16/224638

 

でhomebrewでpythonを入れ直したのだがあまり変化はない。初心者なので良く分からない。

 

 

さすがにこれじゃないだろうと思い違うのを調べ始める。

すると発見!

 

Installing collected packages: six, oauthlib, requests-oauthlib, tweepy

Found existing installation: six 1.4.1

    DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.

    Uninstalling six-1.4.1:

 

この部分が問題らしい。

どうやらsix がすでに入っているせいで良く分からんことになってるよう。

以下参考URL

http://qiita.com/kawashinji/items/98fd8a917a17c3476091

 

これを踏まえたうえでもう一度コマンドを打ち込む。

エラーが出たコマンドは

sudo pip install tweepy

だったが、今回は

$ sudo pip install tweepy --upgrade --ignore-installed six

 

Installing collected packages: six, oauthlib, urllib3, idna, certifi, chardet, requests, requests-oauthlib, tweepy

  Running setup.py install for oauthlib ... done

Successfully installed certifi-2017.4.17 chardet-3.0.4 idna-2.5 oauthlib-2.0.2 requests-2.18.1 requests-oauthlib-0.8.0 six-1.10.0 tweepy-3.5.0 urllib3-1.21.1

 

見事成功!これでtweepyを使えるようになった。

とりあえず今回はtweepyをインストールするだけで疲れたので、ここまでにしようと思います。