【问题标题】:Pipenv trouble on MacOS "TypeError: 'module' object is not callable"MacOS 上的 Pipenv 问题“TypeError: 'module' object is not callable”
【发布时间】:2019-03-13 09:22:10
【问题描述】:

我开始尝试获得一个可以工作的 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可能只是处于某种糟糕的状态:(

【问题讨论】:

    标签: python macos pipenv


    【解决方案1】:

    这是 pipenv 与最新版本的 pip (18.1) 一起使用引起的错误:https://github.com/pypa/pipenv/issues/2924。您需要将 pip(在 pipenv 环境内部和外部)降级到 18.0 版本才能使 pipenv 正常工作。

    【讨论】:

    • > 在 和外部 pipenv 环境
    【解决方案2】:

    @jwodder 回答的实际命令。

    在根目录下运行以下命令。

    pip install pipenv
    

    然后

    pipenv run pip install pip==18.0
    

    然后

    pipenv install
    

    【讨论】:

    • 感谢下一个找到此内容的人的详细步骤!
    • 只是想指出这种“解决方法”对我不起作用
    • @fccoelho 你是在根目录下执行的吗??
    • @EsirKings 实际上在我的情况下它是 Dockerfile 的一部分,因此它以 root 身份运行以更新全局 pip。实际上 pip install pip==18.0 ,然后在 venv 中执行上面的 pipenv 命令
    • 我在运行第三条命令pipenv install后得到TypeError: resolve_deps() got an unexpected keyword argument 'verbose'
    【解决方案3】:

    之前的答案当时是正确的,但问题似乎已在最新版本的pipenv 中得到修复。更新它为我修复了它:

    pip3 install --upgrade pipenv
    

    这使您可以毫无问题地运行pippipenv 的最新版本

    【讨论】:

      猜你喜欢
      • 2018-03-31
      • 2019-04-07
      • 1970-01-01
      • 2020-12-31
      • 1970-01-01
      • 2020-04-09
      • 2021-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多