为了账号安全,请及时绑定邮箱和手机立即绑定

pipenv 无法创建依赖情况应该怎么处理?大家有什么好的建议吗?

pipenv 无法创建依赖情况应该怎么处理?大家有什么好的建议吗?

慕盖茨4494581 2019-02-17 04:19:36
问题是这样的: pipenv用着还是不错的,就是经常安装一些包老是解决不了依赖问题,比如最近我用到一个dogpile.cache,使用pipenv install dogpile.cache==0.7.1来安装就报错。 我看报错信息大概是无法创建依赖关系,但是通过pipenv graph却可以看到包有了,dogpile.cache依赖于decorator的关系图也有了,Pipfile文件也被写入了包的内容,但是Pipfile.lock是没有创建依赖的。 这导致我每次再安装其它包,它又要去更新一遍Pipfile.lock,因为dogpile.cache无法创建依赖,所以你每安装一次新的包它都要报错。 我的分析 从上面的情况我也总结出来pipenv graph好像和Pipfile.lock关系不大,Pipfile.lock文件没有依赖关系依然可以从pipenv graph看出依赖图来,当然你可以无视报错继续使用 可以把dogpile.cache的信息从Pipfile中删除,这样报错没有了,但是这不是好的解决方案吧,Pipfile文件就是维护包信息,一个还好,缺的多我还要手动处理 另外,官方是有--skip-lock命令在安装时跳过依赖的,我是这样用的pipenv install --skip-lock dogpile.cache==0.7.1,但是这个命令根本不管用,还是在安装完成包后,执行了Installing dependencies from Pipfile,下面是报错内容: (flask_starlight) liuzhi@localhost  ~/PycharmProjects/flask_starlight   master ●  pipenv install --skip-lock dogpile.cache==0.7.1 Installing dogpile.cache==0.7.1… Adding dogpile.cache to Pipfile's [packages]… ✔ Installation Succeeded Installing dependencies from Pipfile… An error occurred while installing dogpile-cache==0.7.1! Will try again. ? ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 9/9 — 00:00:01 Installing initially failed dependencies… [pipenv.exceptions.InstallError]: File "/Users/liuzhi/anaconda3/lib/python3.6/site-packages/pipenv/core.py", line 1992, in do_install [pipenv.exceptions.InstallError]: skip_lock=skip_lock, [pipenv.exceptions.InstallError]: File "/Users/liuzhi/anaconda3/lib/python3.6/site-packages/pipenv/core.py", line 1253, in do_init [pipenv.exceptions.InstallError]: pypi_mirror=pypi_mirror, [pipenv.exceptions.InstallError]: File "/Users/liuzhi/anaconda3/lib/python3.6/site-packages/pipenv/core.py", line 859, in do_install_dependencies [pipenv.exceptions.InstallError]: retry_list, procs, failed_deps_queue, requirements_dir, **install_kwargs [pipenv.exceptions.InstallError]: File "/Users/liuzhi/anaconda3/lib/python3.6/site-packages/pipenv/core.py", line 763, in batch_install [pipenv.exceptions.InstallError]: _cleanup_procs(procs, not blocking, failed_deps_queue, retry=retry) [pipenv.exceptions.InstallError]: File "/Users/liuzhi/anaconda3/lib/python3.6/site-packages/pipenv/core.py", line 681, in _cleanup_procs [pipenv.exceptions.InstallError]: raise exceptions.InstallError(c.dep.name, extra=err_lines) [pipenv.exceptions.InstallError]: ['Collecting dogpile-cache==0.7.1'] [pipenv.exceptions.InstallError]: ['Could not find a version that satisfies the requirement dogpile-cache==0.7.1 (from versions: )', 'No matching distribution found for dogpile-cache==0.7.1'] ERROR: ERROR: Package installation failed... ☤ ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/1 — 00:00:01 求问 这不就玩脱了吗,是我官方跳过依赖的命令使用错误吗?还是理解上不是这样的效果?目前我有两个选择,修改Pipfile,或者无视错误,不知道各位大佬是怎么使用pipenv的,因为无法解决依赖的包我遇到的太多了
查看完整描述

2 回答

?
森栏

TA贡献1810条经验 获得超5个赞

似乎没什么好的解决方法呢,如果你也遇到这样的问题,可以屏蔽对应的包就像我问题中的做法。感觉目前可用的方案是pipenv只用于创建虚拟环境,然后换成pip来安装和管理包

查看完整回答
反对 回复 2019-03-01
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

看下你默认的安装源是哪个,比如有些源,如豆瓣是没有该包的,自然你也安装不成功。可以通过其参数--pypi-mirror指定为其他的源再试一下

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 1754 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信