gpt4 book ai didi

Python 3.4 无法识别包

转载 作者:IT王子 更新时间:2023-10-29 00:56:45 27 4
gpt4 key购买 nike

在我的树莓派 3 型号 B 上,我运行的是 linux raspberrypi 4.4.48-v7,这是一个 debian 发行版/ flavor 。

我已经安装了 python 3.4。

sudo pip install enum34

返回 -
Requirement already satisfied: enum34 in /usr/local/lib/python3.4/dist-packages.

我正在尝试安装和运行这个用于 microbot 蓝牙交互的开源项目(但我相信我的问题与 python 配置有关)-

https://github.com/VRGhost/PyPush

我已经安装了软件包和要求,但是当我尝试按如下方式加载/提供软件包时 -
./bin/serve.sh --ble_driver bluegiga --ble_device /dev/tty.usbmodem1 web_ui

我收到-
/usr/bin/python: No module named enum; 'PyPush' is a package and cannot be directly executed

我相信 serve.sh 中失败的那一行是-
exec python -m PyPush $*

如何让 python 将 PyPush 识别为模块?我在网上找到的东西是指已安装的 enum34。

最佳答案

enum34 的特殊情况下,如果您尝试运行 Python 3.4,则不需要它。该特定包是 Python 3.4 的反向移植 enum到早期版本的 Python。您只需import enum在 Python 3.4+ 中。

您似乎至少安装了三个版本的 Python。有两个是正常的:Python 2.7 和 Python 3.x。每个版本都有自己的包存储库,无法看到其他版本。您似乎安装了第三个自定义安装。

当您运行时 pip install enum34 , pip --version 报告的 Python 版本得到包裹。如 python --versionwhich python不同,那么您将无法导入该包,因为它未安装在该版本的存储库中。

如果您需要使用您安装的自定义 Python 版本,您可以通过在命令前加上 /usr/local/bin/ 来运行它和正确版本的 pip。 .例如,/usr/local/bin/pip3.4/usr/local/bin/pip3/usr/local/bin/python3.4/usr/local/bin/python .

也就是说,我怀疑您是否需要这个自定义版本的 Python。你真的应该使用你的发行版,否则,将官方 Python 存储库添加到 apt并以这种方式安装 Python。

您的发行版可能是 Raspbian ,如你所说的 Debian flavor 。 Debian 带有 Python 3 和 Python 2。它们安装在系统中 /usr 下。 .您似乎已经安装了第三个 Python 和某种外部安装程序,版本 3.4,安装在 /usr/local 下。 .

通常对于 Linux,您应该始终尽可能使用发行版的安装程序。对于 Debian,这意味着 apt .如果您阅读了一个教程,该教程告诉您通过运行从某些 .tar.gz 中提取的某些脚本来安装软件。 ,可能不会。对于 Debian,执行 apt search查看您需要的软件版本是否可用,如果没有,请查看项目(例如 Python、Node、Yarn)是否有将其官方存储库添加到您的发行版的说明。

所以,这里出了什么问题可能是你正在运行 pip安装 enum34包裹。那可能是 Python 2.7 的 pip 版本。您可以通过运行 pip --version 来验证这一点。 .我的版本使用 Python 3.5,您可以在下面看到:

$ pip --version
pip 9.0.1 from /usr/local/lib/python3.5/site-packages (python 3.5)
$

可以看到我的Python 3版本安装在/usr/local/ ,但那是因为我在 macOS 上,我在 OS 控制之外安装 Python 3。在 Debian 上,Python 应该几乎总是通过 apt 安装,安装到 /usr/ .

现在,当你运行 pip install enum34 , pip --version 报告的 Python 版本得到包裹。如果这与 python --version 报告的版本不同,那么当您运行该版本的 python 时,您将无法看到该包。您仍然有可能在系统和自定义安装中安装了相同版本的 Python。当您运行时 which pipwhich python ,那些也应该在同一条路径上。如 which pip/usr/local/bin/pipwhich python/usr/bin/python ,你仍然会遇到同样的问题。

您可以通过设置虚拟环境来忽略该问题,无论如何您可能应该这样做,但这有点麻烦。虚拟环境让您可以为每个项目维护一组单独的 Python 包,从而保护您免受需要同一包的不同版本的两个项目的影响。因此,它还可以防止您意外使用不同版本的 pip 和 python。然而,一开始有点繁琐,我不能向 virtualenv 推荐任何新手指南。 .

关于Python 3.4 无法识别包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43638452/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com