Python Anacondaのインストール手順
私のubuntuにはデフォルトでpythonが入っています。
多分linux macが入っているならデフォルトでインストールされていると思います。
今回はせっかくなのでPythonのインストールをpyenvで行いましょう。
pipでパッケージを導入し
更にanacondaをインストールしていきます。
最終的に開発はjupyter notebookで行う予定です。
Pythonのディストリビューションに当ります。
linuxのディストリビューションにはcentOS debian ubuntu etc…
Anacondaを導入することでPythonと一緒に様々なライブラリを一緒にインストールすることが出来ます。
まずは現状の把握から行いましょう。
デフォルトで入っているPythonのバージョン確認
python --version
python 2.7.15rc1
ターミナル上でpythone –versionを叩くとpythonのバージョンが返ってきます。
私のubuntuには2.7.15が入っているようです。
今回はPythonの3系を使いたいのでバージョンを上げていきます。
ついでに先程書いたとおりバージョン管理をpyenvに任せます。
pyenvの導入
pyenvとは複数バージョンのpythonをインストール・共存し、環境に合わせて切り替える為のツールと考えていただければ良いかと。
無理にpyenvを使う必要はないですし、メリットデメリットもある様なので少し調べてから導入すると良いでしょう。
ionicを導入でnodeをバージョン管理する際に使用したnvmの様な感覚でとらえています。
pyenvはgitからダウンロードしてくるようです。
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
Command 'git’ not found, but can be installed with:
sudo apt install git
早速gitが入ってないよと怒られたのでgitのインストールを行う。
sudo apt install git
インストール後再度gitコマンドを叩く
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
インストールが完了したら .bashrcでpathを追加してやります。
vim .bashrc
#一番下の行へ追加
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
if~の部分はそれぞれで書き換えてみてください。
https://github.com/pyenv/pyenv#user-content-basic-github-checkout
参考にさせていただいたサイト
https://qiita.com/hashibiroko/items/60a685e50aebbde7f84e
導入後にシェルの再起動を行います。
exec "$SHELL"
今までsource .bashrcしてたけど厳密にこの2つは違うらしい。
- exec $SHELL -l
- シェルの再起動
- sourceコマンド
- シェルスクリプトを実行
導入可能なPythonのバージョンを確認
pyenv install -l
2.1.3
2.2.3
2.3.7
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.6.4
3.6.5
3.6.6
3.6.7
3.7.0
3.7-dev
3.7.1
3.8-dev
~~~~~~~~~~~~~~~~~~~~~~~~
anaconda-1.5.1
anaconda-1.6.0
anaconda-1.6.1
anaconda-1.7.0
~~~~~~~~~~~~~~~~~~~~~~~~
pypy-1.7
pypy-1.8
pypy-1.9
pypy-2.0-src
pypy-2.0
pypy-2.0.1-src
pypy-2.0.1
pypy-2.0.2-src
pypy-2.0.2
pypy-2.1-src
ずらーっと並びます。
pypyっていう実行速度が速いらしいpythonがあるみたいですが、、とりあえずanaconda入れてしまいましょう。
anacondaの導入
pyenvを使ってインストールできるanacondaのバージョンをgrepで確認
pyenv install --list | grep anaconda
リストが並びます
anaconda3-4.2.0
anaconda3-4.3.0
anaconda3-4.3.1
anaconda3-4.4.0
anaconda3-5.0.0
anaconda3-5.0.1
anaconda3-5.1.0
anaconda3-5.2.0
anaconda3-5.3.0
とりあえず最新のanaconda3-5.3.0を入れておきます。
pyenv install anaconda3-5.3.0
pyenvでデフォルトをanacondaに設定
pyenv global anaconda3-5.3.0
#バージョン確認
python --version
Python 3.7.0
pyenvでもバージョン確認します。
pyenv versions
system
3.8-dev
* anaconda3-5.3.0 (set by /home/box/.pyenv/version)
*が付いている方が現在当っているバージョンです。
anaconda3-5.3.0画選択されているので切り替わってますね。
ここからは蛇足.log
色々なモジュールが足りないなど有ったらこのlogを参考にしたら良いかも。
Python3系をインストールして消した話
pyenv install -l
3.6.6
3.6.7
3.7.0
3.7-dev
3.7.1
3.8-dev
とりあえずver 3.8-devとか入れておこうかな
インストールしましょう
pyenv install 3.8-dev
多分失敗する
zipimport.ZipImportError: can't decompress data; zlib not available
Makefile:1126: recipe for target 'install' failed
make: *** [install] Error 1
zlib not available
約:zlibが無いよ
zlibとは何か
zlibはデータの圧縮、解凍を行う為のライブラリです。
ところでなぜ圧縮に対して解凍なんでしょうね。解凍レンジの名残でしょうか。
ではzlibをインストールしてやります。
sudo apt-get install zlib1g-dev
改めて
pyenv install 3.8-dev
再度pyenvコマンドでインストールを進めます。
ちなみにめっちゃ遅いです。
コーヒーでも飲みながらインストールを待っていると、再びエラーを吐きます。
error code
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
fonts-dejavu-extra libatk-wrapper-java libatk-wrapper-java-jni libgif7
libice-dev libpthread-stubs0-dev libsm-dev libx11-dev libx11-doc libxau-dev
libxcb1-dev libxdmcp-dev libxt-dev x11proto-core-dev x11proto-dev
xorg-sgml-doctools xtrans-dev
これを削除するには sudo apt autoremoveを利用してください。
#~~~~~~~~~~~~
.py", line 7, in
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
Makefile:1126: recipe for target 'install' failed
make: *** [install] Error 1
とりあえずautoremoveしましょう。
sudo apt autoremove
そして、
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
No module named
そんなモジュールはねーよと言ってるのでしょうか。
解決方法としては
ググった結果
libffi-devを入れると解決できるようです
sudo apt install libffi-dev
ちなみにlibffi-devが何かと言うと
libffiは、外部関数インターフェースのうち、マシンに依存する最も低いレイヤを提供するライブラリーです。2つの言語間で渡される値の型変換処理を行うレイヤが、libffiの上になければなりません。ffiとは外部関数インターフェース(Foreign Function Interface)の略であり、外部関数インターフェースとは、ある言語で書かれたコードを別の言語で書かれたコードで呼び出すインターフェースとしてよく使われる名前です。
良く分かりませんでした。
https://sourceware.org/libffi/
こちらを引用すると
Libffiは、インタプリタプログラムからコンパイルされたコードへの橋渡しを提供するためにそのようなプログラムで使用することができます。
んー、別言語間の受け渡しをする為のもの?なのかな?
とりあえず使うんだね。という感じでインストール
3度目のインストールで今度はちゃんと入った様です。
バージョン確認
pyenv versions
* system (set by /home/user/.pyenv/version)
3.8-dev
#バージョンを有効化
pyenv global 3.8-dev
python --version
Python 3.8.0a0
ここまでがpython3.8を入れたときのログ。
今回はanaconda導入までです。
次はselemiumをインストールするところから進めていく予定です。
ディスカッション
コメント一覧
まだ、コメントがありません