MacにRaspberry Piの仮想環境を作成する
概要
- Virtualboxを利用してRaspbeery Pi(stretch)の環境を作成した際のメモ
環境
- ホストPC
- OS: MacOS High Sierra (ver10.13.1)
- Virtualbox: 5.2.18 r124319 (Qt5.6.3)
- ゲストPC
前提
- Raspbian(stretch)のisoを予めダウンロードしておく
- ダウンロード先: DEBIAN STRETCH WITH RASPBERRY PI DESKTOP
- ファイル名: 2018-06-27-rpd-x86-stretch.iso
作成手順
1. 仮想環境を作成する
- [新規アイコン]をクリック
- 各種設定内容を入力する
- 名前: 任意の名称を入力
- タイプ: Linux
- バージョン: Debian(64-bit)
- メモリーサイズ: 1024MB
- ハードディスク: 仮想ハードディスクを作成する
- ファイルの場所: デフォルト
- ファイルサイズ: 8.00GB
- ハードディスクのファイルタイプ: VDI(Virtualbox Disk Image)
- 物理ハードディスクにあるストレージ: 可変サイズ
2. 作成した仮想環境にOSを設定する
- 1.で作成した仮想環境を選択し、[設定]をクリック
- [システム] > [プロセッサー] > プロセッサー数を2に変更
- [ストレージ] > [コントローラー: IDE] > [空]を選択
- ディスクアイコンをクリックし、予めダウンロードしていたIOSファイルを選択
- 右下の[OK]を選択
3. OSのセットアップを行う
- 2.で設定した仮想環境を選択し、[起動]をクリック
- OSのインストール画面が表示される
- [Graphical Install]を選択し、[Enter]を押す
- キーボードの選択画面が表示される
- [Japanese]を選択し、[Enter]
- パーティションの設定画面が表示される
- パーティションを分ける必要はないため、[Guided - use entrie disk]を選択し、[Enter]
- [SCSI3(0,0,0) (sda) - 2.1 GB HARDDISK]を選択し、[Enter]
- [All files in one partition(recommended for new users]を選択し、[Enter]
- [Finish partitioning and write changes to disk]を選択し、[Enter]
- [Yes]を選択し、[Enter]
- ブートローダーの設定画面が表示される
- [Yes]を選択し、[Enter]
- [dev/sda]を選択し、[Enter]
- インストール完了画面が表示される
- 画面右下[Continue]を[Enter]
- Raspbianのデスクトップ画面が表示されればインストール完了
これでMac上にRaspberry Piの環境が作成できました。 最低限の設定しかしていないので、あとは案件やら要件に合わせてセットアップをどうぞ。
Raspberry Pi3 B+ コンプリートスターターキット (Standard, 16G)
- 出版社/メーカー: TechShare
- メディア: エレクトロニクス
- この商品を含むブログを見る
カラー図解 最新 Raspberry Piで学ぶ電子工作 作って動かしてしくみがわかる (ブルーバックス)
- 作者: 金丸隆志
- 出版社/メーカー: 講談社
- 発売日: 2016/07/20
- メディア: 新書
- この商品を含むブログ (1件) を見る
【Python】 Pyenvを利用してPython3.5.xをインストールしようとしたらエラーが出る件
pyenvを利用してPython3.5.3を入れようとしたら次のようなエラーががが。
$ CFLAGS="-I$(brew --prefix openssl)/include" LDFLAGS="-L$(brew --prefix openssl)/lib" pyenv install -v 3.5.3 BUILD FAILED (OS X 10.13.1 using python-build 20160602) Inspect or clean up the working tree at /var/folders/4m/cg10dgps2_j5f6_0pqpbcfc40000gn/T/python-build.20180918160654.71021 Results logged to /var/folders/4m/cg10dgps2_j5f6_0pqpbcfc40000gn/T/python-build.20180918160654.71021.log Last 10 log lines: File "/private/var/folders/4m/cg10dgps2_j5f6_0pqpbcfc40000gn/T/python-build.20180918160654.71021/Python-3.5.3/Lib/ensurepip/__main__.py", line 4, in <module> ensurepip._main() File "/private/var/folders/4m/cg10dgps2_j5f6_0pqpbcfc40000gn/T/python-build.20180918160654.71021/Python-3.5.3/Lib/ensurepip/__init__.py", line 209, in _main default_pip=args.default_pip, File "/private/var/folders/4m/cg10dgps2_j5f6_0pqpbcfc40000gn/T/python-build.20180918160654.71021/Python-3.5.3/Lib/ensurepip/__init__.py", line 116, in bootstrap _run_pip(args + [p[0] for p in _PROJECTS], additional_paths) File "/private/var/folders/4m/cg10dgps2_j5f6_0pqpbcfc40000gn/T/python-build.20180918160654.71021/Python-3.5.3/Lib/ensurepip/__init__.py", line 40, in _run_pip import pip zipimport.ZipImportError: can't decompress data; zlib not available
解決方法
どうやら「Xcode command line tools」というものをインストールしないといけないらしい。
$ xcode-select --install xcode-select: note: install requested for command line developer tools
このコマンドを打つとプロンプトが起動してGUIからインストールすることになる。
インストール完了後、改めてpythonをインストールする
$ CFLAGS="-I$(brew --prefix openssl)/include" LDFLAGS="-L$(brew --prefix openssl)/lib" pyenv install -v 3.5.3
3.5.3がインストールされていることを確認する
$ pyenv versions * system 3.5.3 3.6.0
参考URL
- 作者: Bill Lubanovic,斎藤康毅,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
【Python】MacOS High SierraでPyenvを利用してPythonをインストールしようとしたら失敗した
Pyenvを利用してPythonをインストールしようとしたらOpenSSL入れてる?的なエラーメッセージが出てインストールできなかった件。
High Sierraにする前にPyenvを利用した際は出なかったので、恐らくOSアップデートしたタイミングで何かおかしくなったっぽい...?
$ pyenv install 3.5.3 Downloading Python-3.5.3.tar.xz... -> https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tar.xz Installing Python-3.5.3... ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? Please consult to the Wiki page to fix the problem. https://github.com/pyenv/pyenv/wiki/Common-build-problems BUILD FAILED (OS X 10.13.1 using python-build 20160602) Inspect or clean up the working tree at /var/folders/4m/cg10dgps2_j5f6_0pqpbcfc40000gn/T/python-build.20180918154126.40711 Results logged to /var/folders/4m/cg10dgps2_j5f6_0pqpbcfc40000gn/T/python-build.20180918154126.40711.log Last 10 log lines: if test "xupgrade" != "xno" ; then \ case upgrade in \ upgrade) ensurepip="--upgrade" ;; \ install|*) ensurepip="" ;; \ esac; \ ./python.exe -E -m ensurepip \ $ensurepip --root=/ ; \ fi Ignoring ensurepip failure: pip 9.0.1 requires SSL/TLS
インストール環境
解決方法
エラーメッセージのURLを確認するところ、コンパイラのパスを渡していけないみたい。
以下コマンドを利用して改めてインストールを実施してみる
$ CFLAGS="-I$(brew --prefix openssl)/include" \ > LDFLAGS="-L$(brew --prefix openssl)/lib" \ > pyenv install -v 3.5.3
参考URL
- 作者: Bill Lubanovic,斎藤康毅,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
【Ruby】CarrierWaveを利用してS3に5GB以上のファイルをアップロードする
3日ほどさんざんハマっててようやく解決したのでメモ。
構築中のシステムでzipファイルをCarrierWaveを利用してS3に自動アップロードする処理があるが、特定のファイルだけどうしてもアップロードできずにハマってた。
ソースやデータを見てもおかしなことろがなく、「何がまずいのか...」と思っていたが、S3のドキュメントを見ていたら、
1 回のオペレーションでオブジェクトをアップロードする – 1 回の PUT オペレーションでアップロードできるオブジェクトの最大サイズは 5 GB です。
これだあああああああああ
S3では5GB以上のファイルは1度にアップロードできず、「マルチパートアップロードAPI」を利用しないといけないとのこと。
今回アップロードしようとしていたzipの容量が5.3GBだったので、これに引っかかっていた模様。
以下の記事を参考に、CarrierWaveの設定を追加
CarrierWave.configure do |config| ... config.fog_attributes = { :multipart_chunk_size => 524288000 } # => 500MBずつアップロード ... end
これで5GB以上のファイルも無事にアップロードできました。
Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門 (CodeZine BOOKS)
- 作者: WINGSプロジェクト阿佐志保,山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2016/06/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
【Tomcat7】DataSourceが見つからずにjava.lang.ClassNotFoundExceptionが発生する
Tomcatインストール後、DB接続情報を書いて接続確認した時にハマったのでメモ。
環境
今回は以下のような環境で実施してました
- OS: Redhat Enterprise Linux 7
- Java: 1.7.0_151
- Tomcat: 7.0.76
- MySQL: 5.7.20
手順
%CATALINA_HOME%/webapps/Hoge
にアプリケーション設置後、
%CATALINA_HOME%/conf/Catalina/localhost/Hoge.xml
作成し、以下のように接続情報を記載
<Context path="/Hoge" reloadable="true" docBase="/usr/share/tomcat/webapps/Hoge"> <Resource name="MySQL_JDBC" auth="Container" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" type="javax.sql.DataSource" username="xxxx" password="xxxxxxxx" url="jdbc:mysql://127.0.0.1:xxxx/HogeDB" maxWait="3000" /> </Context>
%CATALINA_HOME%/webapps/Hoge/WEB-INF/web.xml
に以下追記
<resource-ref> <res-ref-name>MySQL_JDBC</res-ref-name> <res-type>javax.sql.DataSource</res-type> </resource-ref>
ブラウザでページを確認すると、次のようなエラーがががが。
Dec 06, 2017 5:16:58 PM org.apache.catalina.core.NamingContextListener addResource WARNING: Failed to register in JMX: javax.naming.NamingException: Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]
解決方法
StackOverFlowの記事によると、tomcat-dbcp-7.0.30.jar
が破損しているとのこと。
%CATALINA_HOME%/lib/
を確認してみると、そもそもtomcat-dbcp-7.0.30.jar
が無かった...。
記事にある通りにjarファイルをダウンロードしてみる
$ wget -O /usr/share/java/tomcat-dbcp-7.0.30.jar http://search.maven.org/remotecontent?filepath=org/apache/tomcat/tomcat-dbcp /7.0.30/tomcat-dbcp-7.0.30.jar
再度ブラウザで確認してみると、エラー無く確認できた。
Tomcat初めて触るからわからないことだらけで大変だ...(白目
参考サイト
- 作者: 藤野圭一
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/12/26
- メディア: 大型本
- この商品を含むブログ (1件) を見る
Mac OS High Sierra(10.13) で Illustrator CS6を利用する
そろそろYosemiteでの作業が辛くなってきた今日この頃。
思い立ってHigh Sierraにアップデートしてみました。
アップデートも無事完了し、Illustrator CS6を利用しようとしたら
Java SE6ランタイム入れて下さい的なアラートが...
今更古いランタイムは入れたくない...何か方法はないものかと調べていると
どうやらPhotoshop CS6/Illustrator CS6ではJava SE6は利用しておらず、
ディレクトリの存在確認のみ行っているとのこと...
なので、単純に存在確認を行っているディレクトリを作成してあげれば良いらしい。
必要なディレクトリの作成コマンドは次の通り。
$ sudo mkdir -p /System/Library/Java/JavaVirtualMachines/1.6.0.jdk $ sudo mkdir -p /System/Library/Java/Support/Deploy.bundle
ただ、High Sierraでは(というかEl Capitan以降では)、System Integrity Protection(SIP)の影響で
デフォルトの状態では書き込むことができず、一旦SIPを無効にしないといけません。
- OSをリカバリーモードで起動する(cmd+rを押しながらOSを起動)
- メニューバーからターミナルを開き、
# csrutil disable
を入力
(この時点でSIPが無効化され、/System以下に書き込めるようになる) - mac再起動し、前述の2つのディレクトリを作成する
- 再びリカバリーモードで起動する
- メニューバーからターミナルを開き、
# csrutil enable
を入力
(SIPを再び有効化する) - macを再起動する
参考にしたページ
以下の内容を参考にさせていただきました。
ありがとうございますありがとうございます。
【Ruby on Rails】ダイアログの改行でハマった
Ruby on Rails案件で早速ハマりました(ヽ´ω`)
前提
Ruby: 2.0.0p647 Ruby on Rails: 4.2.5
ダイアログに改行を入れたい...
alertで出て来るダイアログのメッセージに改行を入れようと、以下のようにコードを書いたのですが、何故かalertの内容が改行されません。
ちゃんとダイアログ内の文言には改行コード(\n
)を入れているですが...。
= link_to 'ダイアログ出すよ', [リンク先URL], :data => { :confirm => 'ダイアログだよ!\n二行目だよ!' }
文言を囲むときはダブルクオーテーションのほうが良さげ
調べてみるとGithubに同様の記事がありました。 以下のIssueによると、どうやらシングルクオーテーションで文言を囲った場合は改行コードは変換されないとのことでした。
Interpret newline escape codes in dialog messages? · Issue #388 · rails/jquery-ujs
Issueにもある通り、:confirm
の文言をダブルクオーテーションで囲むことで意図したとおりに出力できるようになりました。
= link_to "ダイアログ出すよ", [リンク先URL], :data => { :confirm => "ダイアログだよ!\n二行目だよ!" }
クオーテーションで挙動が異なるとは...。 Ruby on Rails中々面白いけど、難しいですねぇ。
参考になったページ
- 作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏
- 出版社/メーカー: 技術評論社
- 発売日: 2014/10/31
- メディア: Kindle版
- この商品を含むブログ (1件) を見る