4
3

More than 3 years have passed since last update.

WSLにpipenvを導入するまで

Last updated at Posted at 2019-10-31

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されてないよって言われるエラーに悩んでます.
なんか解決しました!

4
3
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
4
3