web-dev-qa-db-ja.com

MacOSでのPi​​penvのトラブル「TypeError: 'module'オブジェクトは呼び出し不可能です」

私は正常に動作するpipenvを取得しようとしていますが、私のMacでは、Python環境が少しねじ込まれているようです。この post に従ってOS X pythonを削除し、brewを使用してpython2.7とpython3.7の両方をインストールしました。しかし今、pipenv(2.7)を使用してvirtualenvとpipfileを作成しようとすると、pacakgesをロックするときにpython 3.7に関するエラーが発生し続けます。

$ pipenv --python=/usr/local/bin/python install pynetbox ipaddress
Virtualenv already exists!
Removing existing virtualenv...
Creating a virtualenv for this project...
Pipfile: /Users/daniel/scripts/netbox/Pipfile

...

adding ipaddress to Pipfile's [packages]...
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
c/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
/usr/local/Cellar/pipenv/2018.7.1/libexec/lib/python3.7/site-packages/pipenv/_compat.py:113: ResourceWarning: Implicitly cleaning up <TemporaryDirectory '/var/folders/pc/hlxw3whn3cl1x3h45ll2m8gw0000gs/T/pipenv-TYWa8Y-requirements'>
  warnings.warn(warn_message, ResourceWarning)

PIPとpythonを数回再インストールしましたが、運はありません。どんなアイデアでも大歓迎です。 pythonによると、おそらく何らかの悪い状態にあると思います:(

23
Daniel

これは、最新バージョンのpip(18.1)と共に使用することによって引き起こされるpipenvのバグです。 https://github.com/pypa/pipenv/issues/2924 。 pipenvが機能するためには、pipenv環境の内部と外部の両方で、pipをバージョン18.0にダウングレードする必要があります。

27
jwodder

@jwodderによる回答として実行する実際のコマンド。

ルートディレクトリで次のコマンドを実行します。

pip install pipenv

それから

pipenv run pip install pip==18.0

それから

pipenv install
19
Esir Kings

以前の回答はその時点では正しかったのですが、問題はpipenvの最新バージョンで修正されたようです。それを更新すると修正されました:

pip3 install --upgrade pipenv

これにより、pippipenvの両方の最新バージョンを問題なく実行できます。

1
Bob Vork