Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
12
Help us understand the problem. What is going on with this article?
@toriumi01

[Mac/ubuntu]最新Python実行環境構築手順

More than 1 year has passed since last update.

目的

任意のバージョンのpythonを選べるようにし、常に最新のバージョンを利用できるようにする。
実行環境ごとに依存ライブラリが分離された環境を準備する。
システムワイドに環境を汚染せず、ユーザごとに任意のPythonを実行可能とする。

anyenv+anyenv-updateインストール

ndenvツールの導入を容易にしたり、envツールのアップデートを容易にするためにanyenvから入れていく。

$ git clone https://github.com/riywo/anyenv ~/.anyenv

環境設定

Macの場合

$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ git clone https://github.com/znz/anyenv-update.git ~/.anyenv/plugins/anyenv-update

Ubuntuの場合

$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.profile
$ echo 'eval "$(anyenv init -)"' >> ~/.profile
$ exec $SHELL -l
$ git clone https://github.com/znz/anyenv-update.git ~/.anyenv/plugins/anyenv-update

pyenv+pyenv-virtualenvインストール

開発環境ごとに依存関係を分離するため、pyenv-virtualenvをあわせて導入。

$ anyenv install pyenv
$ exec $SHELL -l
$ git clone https://github.com/yyuu/pyenv-virtualenv ~/.anyenv/envs/pyenv/plugins/pyenv-virtualenv

任意のバージョンのpythonをインストール

ubuntuの場合の関連パッケージ導入

$ sudo apt install build-essential zlib1g-dev libffi-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
$ pyenv install 3.x.x

最近、MojaveにアップグレードしたMacでインストールに失敗する場合

zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

上記のようなエラーが出てインストールに失敗する場合は下記のコマンドを試す

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

上記のコマンドを実行しても下記のようなエラーがでる場合

installer: Error - the package path specified was invalid: '/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg'.

Command Line Tools (macOS 10.14) for Xcode 10パッケージを下記のURLからダウンロードしてくる
https://developer.apple.com/download/more/

Macでopensslが入っているにも関わらず3.7.0以上がインストールできない場合

下記のようなエラーが出る場合

ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

下記の対応で、openssl1.1.1を使用

$ brew install 'openssl@1.1'
$ CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl@1.1)" pyenv install 3.7.0

インストール可能なバージョンの一覧を見たい場合

$ pyenv install --list

最新のバージョンのpythonがインストールできない場合

$ anyenv update

切り離された実行環境をカレントディレクトリに作成

$ pyenv virtualenv 3.x.x my-develop-environment
$ pyenv local my-develop-environment
12
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
12
Help us understand the problem. What is going on with this article?