【Android】GradleのSyncエラーが発生『The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.10 and higher.』

問題

以下の問題が発生する。

ERROR: The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.10 and higher. The following dependencies do not satisfy the required version: root project 'androidmvp-master' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.51 Update plugins Affected Modules: app

原因

Android Plugin for Gradle」が1.2.51以上のKotlinのバージョンしかサポートしなくなったために発生した。

対策

build.gradleのKotlinのバージョンを1.3.10以上にする。

buildscript {
    ext.kotlin_version = '1.3.10'1★

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

【PC】【HDD→SSD換装】容量の小さいSSDへの換装方法について

2020年のお正月は、実家のPCのストレージをHDDからSSDに変更するミッションを課しました。

しかし、購入したSSDの容量がHDDの容量より小さいというミスを犯していました。

PCメーカーのホームページでストレージ容量を確認して購入しましたが、数年前にHDDのサイズを自分が変更しており、それを失念していました。

このミスにより、このミッションは大変時間のかかる作業となりました。

私のように容量の小さいSSDをミスして購入してしまう人は少ないと思いますが、費用面からダウンサイズしたい人もいると思いますので、私の方法を展開します。

何かのお役に立てれば幸いです。

コピー先(SSD)の容量が十分大きい場合

■準備するもの

  • 小さめのプラスドライバー

■手順

  1. 小さいドライバを使いPCからHDDを取り出す。

  2. HDDコピーツールにHDDとSSDを接続し、コピーする。

  3. SSDをPCの取り付けて、起動することを確認。→完了

以下の手順を踏めば、難なく行けるはずだった。。。非常に簡単。。。

コピー先(SSD)の容量が小さい場合

小は大を兼ねることはできないため、当然コピーできない。。。またツールには、コピー先の容量が小さい場合にコピーを開始しないガード機能が搭載されているため、コピーできない。

以下の方法が考えられた。

  1. 市販ツール(HD革命など)を使用してリサイズコピーする

  2. システムイメージをリカバリする

  3. リカバリした環境にシステムイメージをマウントする

市販ツール(HD革命など)を使用してリサイズコピーする

すごく便利なツールである。コピー先の容量が小さくても、リサイズしてコピーしてくれる機能があるとのこと。

メリット

てまひまがかからない。貴重な休暇が無駄にならない。

デメリット

さらに費用がかかる。

結局このソフトは使わなかった。 他の選択肢があったため、さらに数千円を出費する必要はないと判断した。

しかし、この選択は誤りであった。この後に記す方法は、てまひまがかかり、貴重な正月休みがこれにより大きく削られることになったからだ。

皆様には、てまひまと数千円を天秤にかけた上で、ぜひこのツールで貴重な休暇の時間を無駄にしないで頂きたいです。

システムイメージをリカバリする

Windows10の機能である「システムイメージの作成」の機能を用いる方法である。要は、システムドライブ(通常はCドライブ)のシステムイメージを作成し、SSD上にそれを復活させる方法である。

  1. Windwos10でコピー元のCドライブのシステムイメージを作成する。 faq3.dospara.co.jp

  2. コピー先のSSDに対してシステムイメージをリカバリする。 faq3.dospara.co.jp

メリット

てまひまがかからない。貴重な休暇が無駄にならない。

デメリット

てまひまがかかる。システムイメージの作成に4時間。リカバリにさらに4時間。その上、なぜかSSD上にリカバリできない問題にぶち当たり、次に示す方法にすることに。

リカバリした環境にシステムイメージをマウントする

■準備するもの

  • SSD 500GB

  • 外部ストレージ(USB接続HDD/SSDUSBメモリ、SDカードなど)。サイズはCドライブと同サイズ程度。

  • 小さめのプラスドライバー

  • PC付属のリカバリディスク

■手順

  1. Windwos10でCドライブのシステムイメージを作成する。

  2. システムイメージを外部ストーレジに保存する。

  3. PCの電源をOFFにする。

  4. 小さめのドライバでHDDを取り出し、SSDを取り付ける。

  5. PCに付属のリカバリディスクで、PCを購入状態に戻す。

  6. PCの電源をONにする。

  7. システムイメージをマウントする。以下の記事を参照した。 okinetonline.com

  8. 追加されたドライブから必要なデータを抜き出す。

メリット

Cドライブを購入状態に戻すため、余計なデータやレジストリがクリアされ、今までのしがらみから逃れられる。

デメリット

てまひまがかかる。システムイメージの作成に4時間。リカバリにさらに4時間。その上、なぜかSSD上にリカバリできない問題にぶち当たり、次に示す方法にすることに。

最後に

HDDからSSDへの換装によって、数年前に購入した実家のPCは見違えるように速くなりました。

HDD時には電源ONしてからブラウザが起動するまで数分を要していましたが、SSDへ変更後は1分程度になりました。

時間に余裕のある老夫婦が使うため、これまで性能に不満は感じていなかったようです。しかし、目に見える速度改善により、快適に使えるようになったと喜んでいました。

インターネット閲覧などはスマホにとってかわりましたが、家計簿をつけたり年賀状のあて名を印刷するなどの細かな仕事は、まだまだPCが適しています。

そんな、僅かなPCライフを快適にすることができ、時間はかかりましたが、満足です。

【Python】【スクレイピング】ChromeDriverとChromeのバージョンが異なるエラーが発生

問題

以下の実行箇所で、

driver = webdriver.Chrome()

以下の例外が発生する。

SessionNotCreatedException('session not created: This version of ChromeDriver only supports Chrome version 79', None, None)

原因

ChromeDriverとChromeのバージョンが異なる。

このChromeDriverは、Version79のChromeにしか対応していないという趣旨のエラーである。確かにそれぞれのバージョンを調べてみると違う。

Chromのバージョン

78.0.3904.97

ChromeDriverのバージョン

79.0.3945.36.0

対策

Chromeのバージョンを下げるのは面倒そうなので、ChromeDriverのバージョンを下げる。

下記のコマンドでダウングレードする。

chromedriver-binary==78.0.3904.105

バージョンを確認するのは、以下のURLでできそう。

chromedriver.chromium.org

【Python】【VSCommunity 2019】pip installで「ERROR: Could not install packages due to an EnvironmentError: [WinError 5] アクセスが拒否されました。」となる

問題

Visual Studio Community2019でインストールしたPython環境で、pipが使える状態にした。

psychologyit.hatenablog.jp

しかし、pip install requestsが「ERROR: Could not install packages due to an EnvironmentError: [WinError 5] アクセスが拒否されました。」となる。

f:id:harumarion:20191116164644p:plain

原因

管理者権限が必要な場所にインストールしようとしたため、失敗した。

対策

--userを付ける。 通常のインストールの場合は、Python本体と同じ場所にインストールされる。Python本体が管理者権限の必要な場所であると、このようなエラーとなる。 --userとすることで、ユーザーのディレクトリにインストールされることになる。

f:id:harumarion:20191116164726p:plain

【Python】【VSCommunity 2019】コマンドプロンプトからpipコマンドが使えない

問題

Visual Studio Community2019でインストールしたPython環境で、コマンドプロンプト上でpipコマンドが使えない。

f:id:harumarion:20191116163220p:plain

原因

pipのパッケージがインストールされていない。

対策

  1. Visual Studio Community 2019のインストール時にPython環境はインストール済み。

  2. 以下を右クリックする。 f:id:harumarion:20191116160240p:plain

  3. すでにインストールされているようである。Python2.7以降はデフォルトでインストールされているようである。

f:id:harumarion:20191116161710p:plain

  1. 「概要」を選択し、「PowerShellで開く」を選択する。

f:id:harumarion:20191116163649p:plain

  1. PowerShellが起動し、pipコマンドを打つとヘルプが出てきた。

f:id:harumarion:20191116163805p:plain

【Python】【VSCode】import したライブラリが見つからない(ModuleNotFoundError)

問題

import したライブラリが見つからないと言われる。

例外が発生しました: ModuleNotFoundError
ModuleNotFoundError("No module named 'qudandl'")

原因

複数のPython環境がインストールされている環境では、 ライブラリをインストールしたPythonと、VSCode等で実行しているPythonが違う。

対策

  1. 下記のコマンドでインストールしたライブラリの場所を確認する。

    > pip show Quandl
    Location: c:\users\xxxxxxx\appdata\local\programs\python\python37-32\lib\site-packages

  2. Python環境上で、以下のコードを実行する。

    import sys
    print(sys.version)
    print(sys.path)

  3. Locationがsys.pathに含まれているか確認する。

  4. 含まれていなければ、下記の記事を参考に、VSCode上で実行しているPython環境を手順1で確認したPython環境となるように選択する。

www.atmarkit.co.jp

【Android】GradleのSyncに失敗する"Could not find org.jetbrains.kotlin:kotlin-stdlib:1.1.3-2. Searched in the following locations: "

問題

Syncに失敗する。

Could not find org.jetbrains.kotlin:kotlin-stdlib:1.1.3-2. Searched in the following locations: https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.1.3-2/kotlin-stdlib-1.1.3-2.pom https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.1.3-2/kotlin-stdlib-1.1.3-2.jar Required by: project : > com.android.tools.build:gradle:3.0.0 > com.android.tools.build:gradle-core:3.0.0 project : > com.android.tools.build:gradle:3.0.0 > com.android.tools.build:gradle-core:3.0.0 > com.android.tools.build:builder:3.0.0 project : > com.android.tools.build:gradle:3.0.0 > com.android.tools.build:gradle-core:3.0.0 > com.android.tools.lint:lint:26.0.0 project : > com.android.tools.build:gradle:3.0.0 > com.android.tools.build:gradle-core:3.0.0 > com.android.tools.build:builder:3.0.0 > com.android.tools:sdk-common:26.0.0 project : > com.android.tools.build:gradle:3.0.0 > com.android.tools.build:gradle-core:3.0.0 > com.android.tools.build:builder:3.0.0 > com.android.tools:sdklib:26.0.0 > com.android.tools:repository:26.0.0 project : > com.android.tools.build:gradle:3.0.0 > com.android.tools.build:gradle-core:3.0.0 > com.android.tools.lint:lint:26.0.0 > com.android.tools.lint:lint-checks:26.0.0 > com.android.tools.lint:lint-api:26.0.0

原因

不明

対策

build.gradleにjcenter()を追加

repositories {
    google()
    jcenter()★
}