如何告诉pipenv使用本地安装的库?

时间:2018-10-10 20:23:26

标签: python pip virtualenv pipenv

尝试使用neopixel库。好像无法与pipenv一起安装,因为我得到了:

TypeError: 'module' object is not callable

当我尝试安装时:

PIPENV_TIMEOUT=300 pipenv install -e git+https://github.com/jgarff/rpi_ws281x.git#egg=neopixel\&subdirectory=python

所以我尝试按照以下说明安装neopixel库:

https://learn.adafruit.com/neopixels-on-raspberry-pi/software

,效果很好。个人项目和演示都可以正常工作。

但是...我现在正在尝试将一些使用neopixel库的代码与我通过pipenv安装的其他库集成在一起。 (按照最佳做法)

我在Pipfile中没有引用neopixel(如上所述,如果没有该错误,则无法通过pipenv安装它)

但是当我使用以下命令运行程序时: pipenv run python foo.py

它抱怨缺少新像素库。

如何告诉pipenv“即使我的大多数库都使用虚拟环境,在虚拟环境中也找不到该一个 ,但是 是否已在操作系统上全局找到”?

2 个答案:

答案 0 :(得分:1)

此解决方案来得有点晚,但我遇到了'numpy'软件包完全相同的问题,该软件包无法在raspberrypi上使用pip进行安装。

对于任何有相同问题的人,这里是解决方法:使用以下命令重新安装新环境:

path("<str:name>", views.findpage, name='findpage')

摘自官方Pipenv docs

使用平台提供的Python组件

操作系统平台的特定于平台的Python绑定仅在系统包管理器中可用,因此无法通过pip安装到虚拟环境中,这是相当普遍的。在这些情况下,可以通过访问系统site-packages目录来创建虚拟环境:

$ pipenv-三个--site-packages

答案 1 :(得分:0)

此错误是由最新版本的pip-v18.1引起的。 因此,如果您使用的是pip 18.1(pip --version检查版本),则需要降级到以前的版本,即v18,以使其正常工作。

运行以下命令将其降级:

pipenv run pip install pip==18.0

有关GitHub问题的参考:pip 18.1 causes "TypeError: 'module' object is not callable" #2924

相关问题