いろいろ合理化

日々なんとなく改善していったことをメモ。どこかの誰かの役に立てばこれ幸い。いろいろ手を出したがる経理屋。

Windowsが起動しなかった件

今日、何気なくいつものノートパソコンを
使おうと思ったら起動しませんでした。

「この前SSD入れ替えたから、クローンの
時にやっちゃったかなー、、、」とか
いろいろ考えたけど、とにかくいろいろ
手を打ってみました。

▪️症状
BIOSは起動する
Windowsの最初のふわーって玉は出る
その後黒い画面になってそのまま
強制終了する以外何もできない

セーフモードで起動すればWindows起動する

セーフモードでWindows起動するなら
OS自体は壊れてないんだろーなーと
思って、この時点で少し希望が持てました。

▪️対策
システムの修復 → 直らず
セーフモードで怪しいソフトのアンインストール
→アンインストールができない
セーフモードで起動する、のチェック欄確認
→チェックついてない

最終的には
CMOS初期化 → 無事に起動
ということでなんとか直りました。

今回の件で何時間ロスったことか、、、

この際Windows10買ってきてクリーン
インストールしようかとか、CentOS7
入れてサーバーの勉強用に使ってしま
おうかとかいろいろ悩みましたが、
なんとか現状回復できて良かった!

OSについて

最近、PythonやらGASのいろいろに凝っていた
関係で、環境構築に試行錯誤していました。

その関係でOSもオープンソースのもの試してみたのでメモ。

 

ubuntu

今まで自宅のPCはWindows7を使っていて特に
疑問を感じることもなかったんですが、Python
いじる関係でLinuxubuntuを使ってみました。

メインのPCのWindowsを上書きしてみるわけには
行かないので、古くなって使っていなかったノート
にインストールしてみました。
古いPCなのであまり期待していなかったのですが、
これが思いの外使いやすい!

まず起動が早いです。
Windowsが3〜5分くらいかかってやっとまともに
使えるようになるようなPCで、ubuntuは1分
くらいで使えます。(ubuntuは最小構成で
インストール)
Windowsのスリープに似たサスペンドという
やつ使うと、立ち上がりは一瞬です。

あと、セキュリティ的にもWindowsより断然
ウイルスのリスクが低いということなので
セキュリティソフトなしで使ってます。
経済的。

 

Chromium OS

 GASやfirebaseを使う関係でGAS関係はGoogleさん
クラウド環境に集約したいなと思い、それなら
ばとOSもChromium OSを試してみました。

こちらはPCのメインドライブにインストールする

のではなくUSBにイメージを焼いて、USBからOS

を起動する形で使ってみました。

OS種類:cloud ready

イメージ書き込みソフト:etcher

こちらもスピードはWindowsより断然早い。
しかもセキュリティソフトいらず(自分の場合は、
という話ですが)

 

〜結論〜

個人的に家でネットしたり動画見たりするくらい
なら、アホみたいに重いWindowsなんて使う必要
は全く感じなくなりました。
前はLinuxとか難しそうで玄人さん向けかと思ってた
けど、インストールもかなり簡単。

今後はPC買い換えるとしたら10万もする市販の
PCなんて買わずに、中古のそこそこのPC買って
上記のOSインストールして使うと思います。

<参考>
今回の実験に使った費用
SanDisk USBメモリ 16GB ¥1,380

古いUSBメモリでOSのインストールとかOS起動とか

試してたら時間かかったので、新しいやつ買いました。
USBは3.0に対応してるやつがいいと思います。
16GBくらいなら安いんで。

 

 

※2018.09.30 追記

上記でUSBから起動しているChromium OSですが、

スリープ後にしばらくすると画面が真っ黒になって

操作できなくなる現象がたびたび起きてます。

安定性の面でやっぱubuntuかも。

Chromium OSもシンプルで好きなんですが。

 

twitter APIを使ってみた

自動売買のシステム作りの中で、純粋なテクニカル分析

とは少し趣向を変えて、twitterからtweet集めてなんか

分析したらいけるんじゃないかと思い、python

twitter API使えるようにしてみました。

 

ざっくり手順

1.twitter developerのアカウントを作る(1時間?)
2.twitter developerでAppを作成(10分)
 (Consumer keyとか取得)
3.pythonでプログラム作成


各手順の具体的な内容は、親切なサイトがたくさんあったので
最近はありがたい世の中だなーと再確認。

ただぶっちゃけプログラムは親切なブログ解説が多くてそれほど
苦労しなかったんですが、twitter developerのアカウント
作るのが意外と大変でした。
自分がアカウント作ったときはページの説明文とか全部英語
で、しかも最近アカ作る基準が厳しくなったらしく、何で
このアカウント作ろうと思ったのか英語で300文字以上で説明文
書けとか言われてて、けっこう苦痛でした。適当だったけど。

でもpythonでタイムラインの取得とかtweetの投稿とか
できるようになったので満足。

Linux環境構築&Prophetが動くまで

うちのWindows7のPCにPython入れて
Prophetを動かそうとしたところ、
C++コンパイラがどうとかでうまく
動かなかったので、いっそのこと
使っていなかった古いノートPCに
Linuxをインストールして新たに
Pythonの環境を構築してみました。

OSをLinuxに入れ替えてみたところ、
OS自体が軽いのでPCの動作が早くなった
という嬉しい誤算付き。
Windowsの時は遅くて使い物にならなかった
けど、これなら普段使えるレベルまで復活
した感じ。

とりあえずいろいろ試行錯誤してみたので
ざっくりな手順だけメモ。

1.使っていないUSBメモリでLinuxOSのインストール
メディアを作成(ISOイメージを書き込んで作る)

2.再起動し、BIOSレベルでUSBメディアから起動する

3.Linuxインストール(余計なゲームとかいらない
場合は最小構成がおすすめ)

4.Anacondaインストール

5.再起動

6.pipアップグレード

7.msgpackインストール

8.Pandasを0.21.0にダウングレード

9.pandas_datareaderインストール

10.pystanインストール

11.fbprophetインストール

※8.9.は必須じゃないけど、株価分析するなら
おすすめ。

pandas_datareaderで株価取得(ただし外国株式)

pandas_datareaderでなんとか株価を取得するところまで

行ったのでメモ。

ちなみに環境はJupyter。

pandas_datareaderインストール済み、pandasを0.21.0に

ダウングレード済み。
2018.08.10現在では昔の本や動画のコードがそのままでは

動かなかったりしたので苦戦しました。

 

1銘柄だけ取るなら

import pandas_datareader.data as web
import datetime

start = datetime.datetime(2017, 1, 1)
end = datetime.datetime(2017, 12, 31)

globals()['AAPL'] = web.DataReader('AAPL', 'quandl', start, end).sort_index()

AAPL.head()

 

まとめて複数銘柄取るなら

import pandas_datareader.data as web
import datetime

stock_list = ['AAPL', 'GOOG', 'MSFT', 'AMZN']
start = datetime.datetime(2017, 1, 1)
end = datetime.datetime(2017, 12, 31)

for stock in stock_list:
 globals()[stock] = web.DataReader(stock, 'quandl', start, end).sort_inex()

AAPL.head()

 

平均線をつけてプロットする

import matplotlib.pyplot as plt

ma_day = [10, 20, 50]
for ma in ma_day:
 column_name = 'MA {}'.format(ma)
 AAPL[column_name] = AAPL['AdjClose'].rolling(window=ma, min_periods=ma).mean()

AAPL[ ['AdjClose', 'MA 10', 'MA 20', 'MA 50'] ].plot(subplots=False, figsize=(10,4))

 

ここまで辿り着くのにこれだけ時間かかってたら

まともに分析できるのはかなり先そう。

pandas_datareaderが使えなかった

株価のデータを分析しようとpandas_datareaderをインストールしたら、ネットの情報通りインストールしてもうまく機能しませんでした。

 

小一時間いろいろ試してやっと解決したのでメモ。

 

■エラー内容

「is_list_like」ってのがインポートできないよって出る

 

■原因

pandas_datareaderではなく、pandasの方がバージョンアップでコード変わってdatareaderがうまく機能しなかった(らしい)

 

■解決策

pandas0.23.0をアンインストール

コマンドプロンプトpython -m pip uninstall pandas)

pandas0.21.0をインストール

python -m pip install pandas==0.21.0)

 

ようやく株価分析できそう。

PythonでBeautifulsoupがインストールできなかった際の解決策

pygameに続いてBeautifulsoupもインストール。

手順としてはこれもコマンドプロンプト

 

pip install beautifulsoup4

 

と入れればいいといろんなサイトに書いてあるんですが、自分のパソコンでは上手くいかず。今回は

 

python -m pip install beautifulsoup4

 

と入力しても上手くいきませんでした。

エラーメッセージを見てみたところ『「ipykernel」がインストールされてないよ』みたいなことが書いてあったのでまた方々検索。

結果としては

 

python -m pip install ipykernel

 

でipykernelってやつをインストールしてから

 

python -m pip install beautifulsoup4

 

でBeautifulsoupインストールしたらできました。