[python]anaconda prompt起動バッチ
cd C:\user\work\hoge
call C:\Users\hoge\anaconda3\Scripts\activate.bat
activate tf_test01
Win + R > cmdでDOSプロンプト起動 > Users/hoge直下にあるanaconda.batを実行 > anaconda promptが起動し、tf_test01のactivateまで成功
しかし、このバッチの次の行に何かコマンド書いても実行してくれない。
なぜだ・・・?
https://qiita.com/iwatake2222/items/796ec8560563625ace34
この手順をバッチ化したいのだが。
仕方ないので手打ちで進める。美しくない。
conda upgrade --all
conda install spyder
conda install opencv
pythonバージョンが3.9でダメっぽいことを言われる。
conda install python=3.8.0
今度はopencvインストール出来た。
違うPCでやった時はtensorflowのインストールで以下出た。
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
それでその後python=3.8.0をインストールしたら先に進めた。今回はちょっと違うみたい。
conda install Pillow
conda install tensorflow
[python]トラブルシューティング
printの書き方がver3で変わってる。
print "Hello world" # python 2.x
print("Hello world") # python 3.x
ModuleNotFoundError: No module named 'urllib2'
インストールされてなければ以下でインストール。
pip install urllib2
また、書き方がver3で変わってる事に注意。
import urllib2 # python 2.x
import urllib.request, urllib.error # python 3.x
AttributeError: module 'urllib' has no attribute 'urlopen'
python3で書き方が変わってる。
html = urllib2.urlopen(url) # python 2.x urllib2
html = urllib.request.urlopen(url) # python 3.x urllib
AttributeError: 'NoneType' object has no attribute 'text'
print soup.select_one("#CONTENTS_MARROW > xxx > yyy > span.prices").text
取得したオブジェクトにtextアトリビュートがないって事かな。
print soup.select_one("#CONTENTS_MARROW > xxx > yyy > span.prices")
CSSセレクタの指定方法例
(注) print構文がprint()なのは、python3.x系です。
使ったソースはこれ。
# -*- coding: utf-8 -*-
import urllib.request
from bs4 import BeautifulSoup
# urlのHTMLを取得
url = 'https://algorithm.joho.info/'
html = urllib.request.urlopen(url)
# htmlをBeautifulSoupでパース
soup = BeautifulSoup(html, "html.parser")
# CSSセレクタで指定したタグ内のコンテンツを表示
print(soup.select_one("#post-17926 > div > footer > p > span.category > a").get('href'))
https://algorithm.joho.info/
print(soup.select_one("#post-17926 > div > footer > p > span.category > a").text)
電気・電子工学
--> 成功
print(soup.select_one("#post-17926 > div > footer > p > span.category > a").get('href'))
https://algorithm.joho.info/category/denki-denshi/
--> 成功
Anaconda3 import numpyに失敗する
Anaconda3-2019.03-Windows-x86_64.exe
でWindows 10 Homeにインストール。
ユーザの環境変数PATHの先頭に以下を追加。
C:\Users\marud\Anaconda3
C:\Users\marud\Anaconda3\Library\mingw-w64\usr\bin
C:\Users\marud\Anaconda3\Library\usr\bin
C:\Users\marud\Anaconda3\scripts
コマンドプロンプト起動。
C:\Users\marud>python
Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated. Libraries may fail to load. To activate this environment
please see https://conda.io/activation
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
>>> import numpy
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\marud\Anaconda3\lib\site-packages\numpy\__init__.py", line 140, in
from . import _distributor_init
File "C:\Users\marud\Anaconda3\lib\site-packages\numpy\_distributor_init.py", line 34, in
from . import _mklinit
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
>>>
エラーになる。
ぐぐると、この問題けっこう起こってるみたい。
原因がわからないので、UbuntuにAnacondaインストールしてみよう。
[Py][Colabo]トラブルシューティング
from google.colab import files
uploaded = files.upload()
Coraboへファイルをアップロードする際、このように書くと、
Chromeならファイル選択ウィンドウが出てたが、Firefoxだと以下エラー。
Upload widget is only available when the cell has been executed in the current browser session. Please rerun this cell to enable.
https://qiita.com/kakinaguru_zo/items/33dbe24276915124f545
ここのページでも触れているが、なんかFirefoxだとエラーになるみたい。
[Py][Colabo]コマンド
まずはGoogle IDでログインして、Google ColaboのJupyter Notebookを開くこと。
尚、特に説明がなければ、以下の書籍を参考にしてます。
ゼロから作るDeep Learning
――Pythonで学ぶディープラーニングの理論と実装
https://www.oreilly.co.jp/books/9784873117584/
Shift + Enterで実行
NotebookのPythonコード欄に記述して、Shift + Enterで実行可能。
Linuxコマンドは!をつけて実行
NotebookのPythonコード欄に!付でLinuxコマンドを記述して、Shift + Enterで実行可能。
例:
!pwd
Shift + Enterで実行
ファイルをアップロード
from google.colab import files
uploaded = files.upload()
これでアップロードウィザードが出るので、ファイルを選択。
画像を表示
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread("hoge.jpg")
plt.imshow(img)
plt.show()
上でアップロードしたファイル名をそのまま書けばよい。
グラフを描画
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 6, 0.1)
y1= np.sin(x)
y2= np.cos(x)
plt.plot(x, y1, label="sin")
plt.plot(x, y2, linestyle="--", label="cos")
plt.xlabel("x axis")
plt.ylabel("y axis")
plt.title("sin & cos")
plt.legend()
plt.show()
ColaboのJupyterからGoogleドライブ上のファイルへアクセス
https://qiita.com/yoshizaki_kkgk/items/bf01842d1a80c0f9e56c
こちらを参考にやってみる。そのまんまです。
まずはGoogle Driveと接続するためのモジュールをインストール。
!pip install -U -q PyDrive
※ 以降いずれもコマンドの後で、Shift + Enter、を押して実行すること。
必要なライブラリを読み込む。
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
実行しても、何も表示ない。もしGoogleが無い、と言われたら、以下を実行すれば良いそうだ。
!pip install google
以下でGoogle Cloud SDKの認証を行う。
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
これ実行すると、確かに以下のように出た。
Go to the following link in your browser:
https://accounts.google.com/ .........(長いURL)
このURLをクリックすると、Google Cloud SDKへログインするよう言われる。
ログインした後、「Google Cloud SDKでの使用許可」を「許可」すると、認証コードが表示される。
このコードをコピーして、Jupyter Notebookへ戻り、先ほどの枠にペーストし、Enter。
これで何も表示されず、さっきまで出てた上のURLなどもすべて消えた。何も表示ないのでエラー無しって事らしい。
次に、扱いたいファイルをGoogle Driveの任意のフォルダへコピーしておく。
そのファイル上で > 右クリック > 共有可能なリンクを取得
すると、クリップボードに以下のようなURLがコピーされている。
https://drive.google.com/open?id=1EEXKXPo-A
Google DriveからJupyter上にコピーするには、以下のようにやる。
上でゲットしたURLのうち、id=以降の部分を以下idへ代入する。
id = '1EEXKXPo-A'
downloaded = drive.CreateFile({'id': id})
downloaded.GetContentFile('hoge.jpg')
上記ではファイル名をhoge.jpbとしている。
エラー無く完了したら以下コマンドでコピーできたことを確認する。
※ 毎度のShift + Enterも忘れずに。
!ls
adc.json hoge.jpg sample_data
すると、hoge.jpgが直下にコピーされた事が確認できた。
ここまで来れば、あとは上の「画像を表示」で書いた通りのコードを使って、Google Driveからコピーした画像が表示出来た。
MNISTデータ読み込み
書籍p.74
まず、githubからダウンロードしたdeep-learning-from-scratch-master.zipを展開し、中身をカレントDIR直下に移動した。
ch01 ch04 ch07 dataset README.md
ch02 ch05 ch08 sample_data
ch03 ch06 common LICENSE.md
この状態から以下のようにして提供されているdataset/mnist.pyを利用して、load_mnist関数を呼び出し、
それを使ってMNISTデータを読み込む。
import sys, os
sys.path.append(os.pardir)
from dataset.mnist import load_mnist
(x_train, t_train), (x_test, t_test) = \
load_mnist(flatten=True, normalize=False)
print(x_train.shape)
print(t_train.shape)
print(x_test.shape)
print(t_test.shape)
[python]コマンド
import requests
target_url = 'http://tech.nikkeibp.co.jp/'
res = requests.get(target_url)
# GET
requests.get('URL')
# POST
requests.post('URL')
# PUT
requests.put('URL')
# DELETE
requests.delete('URL')
# header の取得
requests.head('URL')
Jupyterインストール
Windowsキー > anacon・・ とタイプ > Anaconda Promptを起動
> pip install msgpack
> pip install jupyter
seleniumインストール
Windowsキー > anacon・・ とタイプ > Anaconda Promptを起動
> pip install selenium
WindowsへPython 3.7.1インストール
https://www.python.org/downloads/release/python-371/
このページの以下からpython-3.7.1-amd64.exeをダウンロード。
Windows x86-64 executable installer
実行してインストールする。(「PATHへのPython追加」をYESに、あとはインストール先を変えたくらい)
NumPyインストール
上のPythonインストールの続き。
コマンドプロンプトを開き、pythonで起動。
C:\bob\user\work\git\program\python\deep_learning_from_zero>python
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
続けて次のように実行すると、エラーが出たので、numpyはインストールされてないということ。
>>> import numpy
Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'numpy'
>>>
numpyをインストールするために、まずはpythonプロンプトをCtrl-ZからのEnterで抜ける。
それからコマンドプロンプト上から以下でインストールできる。
C:\bob\user\work\git\program\python\deep_learning_from_zero>pip install numpy
Collecting numpy
Downloading https://files.pythonhosted.org/packages/00/0e/5a8c34adb97fc1cd6636d78050e575945e874c8516d501421d5a0f377a6c/numpy-1.15.4-cp37-none-win_amd64.whl (13.5MB)
100% |████████████████████████████████| 13.5MB 742kB/s
Installing collected packages: numpy
Successfully installed numpy-1.15.4
You are using pip version 10.0.1, however version 18.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Matplotlibインストール
コマンドプロンプトから以下でインストールできる。
C:\bob\user\work\git\program\python\deep_learning_from_zero>pip install matplotlib
Collecting matplotlib
Downloading https://files.pythonhosted.org/packages/5c/ee/efaf04efc763709f6840cd8d08865d194f7453f43e98d042c92755cdddec/matplotlib-3.0.2-cp37-cp37m-win_amd64.whl (8.9MB)
100% |████████████████████████████████| 8.9MB 1.1MB/s
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
Downloading https://files.pythonhosted.org/packages/71/e8/6777f6624681c8b9701a8a0a5654f3eb56919a01a78e12bf3c73f5a3c714/pyparsing-2.3.0-py2.py3-none-any.whl (59kB)
100% |████████████████████████████████| 61kB 552kB/s
Collecting python-dateutil>=2.1 (from matplotlib)
Downloading https://files.pythonhosted.org/packages/74/68/d87d9b36af36f44254a8d512cbfc48369103a3b9e474be9bdfe536abfc45/python_dateutil-2.7.5-py2.py3-none-any.whl (225kB)
100% |████████████████████████████████| 235kB 535kB/s
Requirement already satisfied: numpy>=1.10.0 in c:\python37\lib\site-packages (from matplotlib) (1.15.4)
Collecting kiwisolver>=1.0.1 (from matplotlib)
Downloading https://files.pythonhosted.org/packages/7c/be/7ae355b45699460e369ebf88d86058fca26827933974cc3f6b6b7800a324/kiwisolver-1.0.1-cp37-none-win_amd64.whl (57kB)
100% |████████████████████████████████| 61kB 570kB/s
Collecting cycler>=0.10 (from matplotlib)
Downloading https://files.pythonhosted.org/packages/f7/d2/e07d3ebb2bd7af696440ce7e754c59dd546ffe1bbe732c8ab68b9c834e61/cycler-0.10.0-py2.py3-none-any.whl
Collecting six>=1.5 (from python-dateutil>=2.1->matplotlib)
Downloading https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Requirement already satisfied: setuptools in c:\python37\lib\site-packages (from kiwisolver>=1.0.1->matplotlib) (39.0.1)
Installing collected packages: pyparsing, six, python-dateutil, kiwisolver, cycler, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.0.1 matplotlib-3.0.2 pyparsing-2.3.0 python-dateutil-2.7.5 six-1.11.0
You are using pip version 10.0.1, however version 18.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
CSSセレクターをコピー
スクレイピングのためのCSSセレクタコピー。
◆Firefox > 対象ページ開く > 右クリック > 要素を調査 > ページ下にウィンドウが出る。
> 左側でCSSセレクタを調べたい場所を選択 > 右クリック > コピー > CSSセレクター
これで成功したのに、次にやったらパスが完全にコピー出来てない。なぜだ?
Google Chromeなら簡単にCSSセレクターをコピーする事が出来た。
◆Chrome > 対象ページ開く > 取得したい値にオンマウスで右クリック > 検証 > 右側にウィンドウ出る。
> 既に対象のソース箇所が選択されてる > そのまま右クリック > Copy > Copy Selector
Anacondaインストール(Widnows 10)
https://www.anaconda.com/download/#download
ここの以下からダウンロード。
Python 3.7 version *
64-Bit Graphical Installer (633 MB)
インストール完了したら、環境変数PATHの先頭へ以下を登録。
尚、JUST ME設定でインストールしたから以下のパスになっている。
C:\Users\marud\Anaconda3
C:\Users\marud\Anaconda3\Library\mingw-w64\usr\bin
C:\Users\marud\Anaconda3\Library\usr\bin
C:\Users\marud\Anaconda3\scripts