pipenv install 报错

首先介绍一下pipenv: 

pipenv是新的python虚拟环境管理工具 由requests 作者 Kenneth Reitz编写, 后来贡献给pypi, 提倡用Pipfile(社区拟定的依赖管理文件)替代简陋的requirements.txt 

pipenv支持版本锁 存为 Pipfile.lock

为每个项目创建一个Pipfile 默认提供default分区和development分区(pipenv install requests --dev)

简单介绍使用方法:

pipenv install

# 默认为该目录创建一个python虚拟环境 位于 用户名.local/share/virtualenvs/项目目录名-随机字符串
# 提供可选参数 --two/--three 分别为python2,3 也可以 --python 3.6 指定一个版本号 

pipenv install requests --dev
# 在development分区安装 requests 当别人收到你的项目文件运行 pipenv install --dev 就会安装requests 指定版本用 requests==2.19.1

pipenv run new_spider.py
# 使用pipenv的虚拟环境运行new_spider.py脚本

pipenv uninstall requests
# 卸载requests包

pipenv --venv
# 查看当前项目所使用虚拟环境的位置

pipenv graph
# 查看包依赖结构

pipenv --rm
# 删除该项目的虚拟环境

pipenv shell
# 激活虚拟环境的python 此时使用pip可以安装包到虚拟环境 但是不会添加到Pipfile

pipenv check
# 使用检查PEP安全漏洞

# 如果pipenv install 安装模块的速度很慢 可以设置使用国内源
vi ./Pipfile
[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"

一直以来使用pipenv都没有出错 今天却遇到了这个

 pipenv install 报错信息

$ pipenv install requests     
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/7p/zjzc1bjd3qjfyqf69f6zlxmc0000gn/T/pipenv-s0IwMW-requirements'>
  warnings.warn(warn_message, ResourceWarning)

解决方法 : 是因为pip的版本问题

pipenv version 2018.7.1 支持完美的pip版本是pip 18.0

所以 执行以下命令 重装pip为18.0(该命令只对当前项目的虚拟环境生效 不影响全局pip)

pipenv run pip install pip==18.0

如果想全局解决,不用再每个项目解决一次

python3 -m pip install pip==10.0.1
# 或者
python -m pip install pip==10.0.1

猜你喜欢

转载自blog.csdn.net/sunnylive863/article/details/82966240