LoginSignup
1
4

More than 3 years have passed since last update.

Python環境再構築

Last updated at Posted at 2019-07-02

Python環境を整える

*課題
- 様々なモジュール管理ツールが混在している。
- 最初にどう環境設定したのか覚えていない。
- DISCが圧迫されている(これは別の所にも問題あり)

*環境
MacOS 10.14.5
Xcode(Command Line Tools)
Homebrew

バージョン
Python 3.7.1
pyenv 3.7.0

*Python管理ツールをすべてアンインストールして再構築しよう

1. Disc使用量の確認

du [オプション] ディレクトリ・ファイル

2. pyenv, anacond, pip uninstall

conda install anaconda-clean
anaconda-clean --yes
rm -rf ~/anaconda

anaconda上手く消えなかったからFinderから消しました

brew uninstall pyenv

3. それではinstallし直す!!

今回はrbenvとかは再インストールしてないので、ひとまずanyenvは使わない

brew install pyenv

MacOS Mojaveでpyenv python installするとZipImportErrorが出る話
を参考に

CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install 3.7.2

としてCFLAGSにmacOS SDK headersのパスを渡す

環境変数やinit などのPATH通して保存

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile

仮想環境構築  pipenv版

メモリは自分のPCを使用するけど、計算やライブラリの管理はプロジェクトごとに仮想環境をつくってできる

brew install pipenv

-> project root ディレクトリの.venv 以下のディレクトリに仮装環境が作成されるように有効化

''~/.local/share/virtualenvs'' に
格納されるそうだけど、PyCharm開発だと.venv以下をデフォルトで読み込んでくれるので便利らしい。(PyCharm使わないけどいれてみた)

echo 'export PIPENV_VENV_IN_PROJECT=1' >> ~/.bash_profile
source ~/.bash_profile

pipenvについて

https://qiita.com/y-tsutsu/items/54c10e0b2c6b565c887a
・プロジェクトごとに仮装環境を構築できる
・pipenv環境下ではpipenvコマンドを使ってパッケージをインストール
つくった環境ごとにPipfileにパッケージが列挙される。また、Pipfile.lockにはバージョンやパッケージの依存関係にある別のパッケージの詳細が記載される

Python file実行

1. まず環境つくりたいディレクトリにいく

$ mkdir test
$ cd test
$ pipenv install --Python 3.7.1

この時点で
Pipfile Pipfile.lock
が階層にできている

2. パッケージの追加

$ pipenv install --(いろいろインストールしたいパッケージ)
で色々追加できる

開発時にしか使用したくないパッケージはオプション-dをつけて

pipenv install -d (インストールしたいパッケージ)

* つまったこと

・$ pipenv install matplotlib は上手くいかない
versionまで指定すると、インストールできた
・pycocotoolsはCythonが入ってないとinstallできないなど、順番に気をつける必要ある

3. 実行する

pipenvは仮装環境なので、pipenvでインストールしたパッケージを利用したPythonスクリプトを実行するためには仮想環境に入る必要がある
pipenv shellで環境に入ると、左側にプロジェクト名がカッコ書きで出てくるのが確認できる。
環境を抜けるときはexitコマンドを打てると抜けられる

$ pipenv shell
(test)$ python foo.py
(test)$ exit

tkinker インストールできなくて困る

https://murabitoleg.com/mac-tkinter/
の通りに公式サイトから引っ張ってくると、対話型ではimport tkinterできたが。

python -m tkinter 

打つと

tk.h version (8.6) doesn't match libtk.a version (8.5)

のエラー。。

https://qiita.com/undead/items/e92ff0038c1fa14689b5
を参考にしてpyenv uninstallするも解決しない。。

参考

https://qiita.com/anvinon/items/5d9c128ef8b65b866dfe
https://kandai.hatenadiary.jp/entry/2018/07/16/105940
pipencとGit Dockerをつかった話

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4