Python設定（最初から）

# Python仮想環境の設定

https://qiita.com/y__sama/items/5b62d31cb7e6ed50f02c#%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E6%96%B9%E6%B3%95-1

これを参考にして新しいマシンに環境構築をした。少しエラーメッセージが出たので試行錯誤する。

```shell
$ which git
/usr/bin/git
```

git はある。

```shell
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
```

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

ここまではそのまま。しかし、ここで設定を反映しようとすると、以下のように指示される。

```shell 
$ source ~/.bashrc

WARNING: `pyenv init -` no longer sets PATH.
Run `pyenv init` to see the necessary changes to make to your configuration.
```

指示に従う。


```shell 
# 指示に従う。
$ pyenv init

# (The below instructions are intended for common
# shell setups. See the README for more guidance
# if they don't apply and/or don't work for you.)

# Add pyenv executable to PATH and
# enable shims by adding the following
# to ~/.profile:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

# If your ~/.profile sources ~/.bashrc,
# the lines need to be inserted before the part
# that does that. See the README for another option.

# If you have ~/.bash_profile, make sure that it
# also executes the above lines -- e.g. by
# copying them there or by sourcing ~/.profile

# Load pyenv into the shell by adding
# the following to ~/.bashrc:

eval "$(pyenv init -)"

# Make sure to restart your entire logon session
# for changes to profile files to take effect.
```

そこで、まず.profileに加筆。

```shell
$ tail .profile

# [2021/06/16]
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
```

振り返って先程編集した.bashrcを見る。

```shell
$ tail .bashrc

# [2021/06/16]
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
```

ターミナルに出てきた指示と比較すると、このままでよさそう。

```shell 
$ source .bashrc
```
今度は何も言われない。良さそう。


```shell 
$ pyenv install anaconda3-5.2.0 
$ pyenv rehash
$ pyenv global anaconda3-5.2.0
$ echo 'alias activate="source $PYENV_ROOT/versions/anaconda3-5.2.0/bin/activate"' >> ~/.bashrc

$ source ~/.bashrc
$ conda update conda

$ python
Python 3.7.0 (default, Jun 28 2018, 13:15:42) 
[GCC 7.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
```

~~なんとなく不安なので、.bashrcに加筆したものをすべて.bash_profileにも書いておく。~~
先程の指示をよく読むと、
。# If you have ~/.bash_profile, make sure that it
。# also executes the above lines -- e.g. by
。# copying them there or by sourcing ~/.profile
とあるので、冗長だが```source ~/.profile```を加筆し、コピペもする。

```shell 
$ more .bash_profile

source ~/.profile

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
alias activate="source $PYENV_ROOT/versions/anaconda3-5.2.0/bin/activate"
```





これで準備ができた。

```shell 
$ conda create -n py37_hvs python=3.7 anaconda

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate py37_hvs
#
# To deactivate an active environment, use
#
#     $ conda deactivate


$ source activate py37_hvs

(py37_hvs) $ python
Python 3.7.10 (default, Feb 26 2021, 18:47:35) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> 


```


# (2) 

その後ログアウトしてからログインし直す。ログイン直後に

```shell 
$ source activate py37_hvs
```
これだけでPythonが使えるようになる。

ただし、上記のように```.bash_profile``` で```source ~/.profile```を書いておかないと、うまく行かない。（当初、このせいで```source activate XXXX```が実行できなかった）

# (3) module

## astrolibpy

いつもどおり。

```shell 
$ cd my_libs_3
$ git clone https://github.com/segasai/astrolibpy.git
```


```.bashrc``` に ```PYTHONPATH``` を加筆。

```shell 
$ tail .bashrc

# [2021/06/16]
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

export PYTHONPATH="$HOME/my_libs_3:$PYTHONPATH"

eval "$(pyenv init -)"
alias activate="source $PYENV_ROOT/versions/anaconda3-5.2.0/bin/activate"
```

これでidlsaveも使えるようになる。
（ https://qiita.com/KoheiQiita/items/fea4aba7add33da73104 ）

## gala

```
$ python -m pip install gala
```

## mwdust


```.bashrc``` 末尾に ```DUST_DIR``` を加筆する。


```shell 
$ tail .bashrc

# [2021/06/16]
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

export PYTHONPATH="$HOME/my_libs_3:$PYTHONPATH"

eval "$(pyenv init -)"
alias activate="source $PYENV_ROOT/versions/anaconda3-5.2.0/bin/activate"

export DUST_DIR="$HOME/my_libs_3/mwdust_DATA_directory"

```

あとはいつもどおり。

```
$ cd my_libs_3
$ mkdir mwdust_DATA_directory

$ git clone https://github.com/jobovy/mwdust.git
$ cd mwdust
$ cp setup.py setup_orig.py # 修正前のオリジナルのファイルを保存しておく。

$ nano setup.py

# '--no-downloads' に対応するブロック（48行目くらい）を修正。
# '--no-downloads' が指定されても、「SFDだけダウンロード」になるようにする。
===
    _DOWNLOAD_SFD= True #False# （48行目くらい）
===

$ python setup.py install --no-downloads
```
OK.