Help us understand the problem. What is going on with this article?

Macにpipenv環境作ってみた

More than 1 year has passed since last update.

前提

  • Homebrewがインストールされていること
  • Xcode Command Line Toolsがインストールされていること

pipenvの準備

pipenvをインストール

$ brew install pipenv

# インストール確認
$ pipenv --version
pipenv, version 2018.7.1

pipenvを使ってみる

# 任意のフォルダを作成
$ mkdir pipenv-example
$ cd pipenv-example

# 開発フォルダ内で仮想環境フォルダを作成する設定
$ export PIPENV_VENV_IN_PROJECT=1

# pythonのバージョン指定
$ pipenv --python 3.7
Creating a virtualenv for this project...

# 成功するとPipfileが作成される
$ cat Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]

[dev-packages

[requires]
python_version = "3.6"

$ pipenv shell
Launching subshell in virtual environment…
bash-3.2$   . /XXXX/pipenv-example/.venv/bin/activate

# バージョン確認
(pipenv-example-edEeQ5ra) bash-3.2$  python --version
Python 3.7 # pipenvで指定したバージョン

パッケージインストール

原因は不明ですが、pip 18.1を使用すると以下のエラーが発生しました。

Pipfile.lock (662286) out of date, updating to (7fbb99)...
Locking [dev-packages] dependencies...
lib/python3.7/site-packages/pipenv/utils.py", line 402, in resolve_deps
    req_dir=req_dir
  File "/usr/local/Cellar/pipenv/2018.7.1/libexec/lib/python3.7/site-packages/pipenv/utils.py", line 250, in actually_resolve_deps
    req = Requirement.from_line(dep)
  File "/usr/local/Cellar/pipenv/2018.7.1/libexec/lib/python3.7/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 704, in from_line
    line, extras = _strip_extras(line)
TypeError: 'module' object is not callable

Github Issueを漁っているうちにバージョンを変更することで回避できることが分かったので、
回避方法を記載します。

pipenv内のpipバージョン変更

# 18.0のpipをインストールするだけ
pipenv install pip==18.0

# 確認
$ pipenv shell

# バージョンチェック
(pipenv-example-edEeQ5ra) bash-3.2$ pip --version
pip 18.0 from /XXXX/pipenv-example/.venv/lib/python3.7/site-packages/pip (python 3.7)

パッケージインストール

$ pipenv install Flask

追記(2019/01/14)

pipenvをアップデートしたところ、pipを18にしなくてもエラーにならなくなりました。

$ brew update
$ brew upgrade pipenv
$ pipenv --version
pipenv, version 2018.11.26

$ pipenv install Flask

以上です。

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.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした