Abstract
先日、pipenvを導入しようとしたらいろいろ怒られて大変だったので導入するまでのメモです。
これからいっぱい使う予定です。
最初にやったこととエラー
$ sudo apt install python-pip
$ pip install --user pipenv
$ pipenv install
なんて出てきたか覚えてないですがここでpipenvが動かなくなった。
$ pip -V
ImportError: cannot import name ‘main’
なに言ってんだ???と思い調べるとpip3がupgradeされるとダメらしいです。
なので全部アンインストールして1から今度はpip3をインストールしました。
$ sudo apt install python3-pip
$ pip3 isntall --user pipenv
$ pipenv install
エラー
$ pip3 -V
ImportError: cannot import name ‘main’
???
意味わからなくなっていたら救世主
どこのブログか覚えてませんがpyenvをいれてからだと大丈夫らしい
pyenv導入
$ sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
$ pybenv install --list
参考文献に書きますがそれ見ながらやった。丸コピ
ついでに入ってるかどうかと一緒にインストールできるリストを出した。
今回はpython 3.7.2をインストール。2系はいらんよね
$ pyenv install 3.7.2
$ pyenv global 3.7.2
$ python -V
Python 3.7.2
OK!!いけました
pip導入
なんか調べてたらaptでいれたのとpip upgradeでどうたらこうたらしてるみたいなのも見つけました。
ということでaptでいれるのやめようと思った。
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py --user
$ which pip
/home/username/.pyenv/shims/pip
なんかできてそう...
.pyenv/shims/pip
なのはよくわからんけど大丈夫そうだな。。。sudo権限使わないように--user
つけたからかな?
まあ動くならオッケー
躓くかもしれないので一応書いておく
It seems that python3-distutils is not installed.
が出たら
$ sudo apt install python3-disutils
$ python get-pip.py --user
$ pip install --upgrade pip
でいけるみたいです。
別のPCでやったときにcannot import
が出てきたときはアンインストールして--user
を書かなかったらできました.
whichなどを使って適宜パスの変更をしましょう.
また、パスととおってないひとは
/home/username/.local/bin/pip
/home/username/.pyenv/shims/pip
にあると思うのでパスを通しましょう。
$ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
$ echo 'export PATH="$HOME/.pyenv/shims:$PATH"' >> ~/.bashrc
適してるほうを書いてください。
pipenv導入
$ pip install --user pipenv
Collecting pipenv
~
~
WARNING: The scripts pipenv and pipenv-resolver are installed in '/home/username/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pipenv-2018.11.26
$ which pipenv
$
$ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
これでいけるはず
僕はよくわからない記事に騙されてあたふたしてsudoでやろうとしてたけどそもそもlocalにいれようとしてたのでこれでオッケーです。
pipenvをインストールしたときにパスが通ってないとWARNINGが出ると思うのでその通りにやるとよし
参考サイト
書こうと思ってたけどタブ消してたし無限に戻るのが面倒くさいです.
ただ参考にさせていただいた記事には本当に感謝しております.
まとめ
初めての投稿の上文章がぐちゃぐちゃですがこんな感じです。(あとでまとめて直そうかな)
研究とかでDeep Learningとかやりそうなのでpipenvを使ってみようと思ったら最初にやったことあたりのことで丸1日くらい使ってはまってしまったので読んでくれて解決できる方がいたらうれしいです.
ちなみに今はサーバーでrake db:create
でデータベースが作られないのでpostgresユーザで無理やり作ったけどなんかcreateされてないよって言われるエラーに悩んでます.
なんか解決しました!