【问题标题】:ImportError: No module named serialImportError:没有名为串行的模块
【发布时间】:2014-04-30 01:36:08
【问题描述】:

我有一个用 Python 3 编写并安装了 3.3.5 的脚本,每当我尝试运行它时,我都会从终端收到此错误。我使用的是 Mac,OSX 10.7.5

我已经为 python 3 安装了pyserial(使用 pip)。为了做到这一点,我首先使用以下方法安装了 pip:

$ curl -O http://python-distribute.org/distribute_setup.py
$ sudo python3 distribute_setup.py
$ curl -O https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py
$ sudo python3 get-pip.py

然后我安装了pyserial

$sudo pip3 install pyserial

我使用 Python Launcher 运行脚本,但出现错误:

ImportError: No module named serial

错误在说的那一行

import serial

我在/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages 中找到了pyserial。我真的很难过,不知道为什么会出现这个错误。

我在终端中尝试了以下操作:

$ python3
>>> import serial
>>> serial
<module 'serial' from '/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/serial/__init__.py'>

在我看来,目录似乎没有问题。这是一个公平的假设吗,因为当我使用命令行尝试 Python 时,它会立即浏览该目录,或者当我运行脚本时它会有所不同?

我对这一切都很陌生,因此非常感谢任何形式的帮助和耐心。

谢谢。

编辑:对于其他遇到类似问题的人来说,我并没有真正修复它,但我只是通过使用 PyDev 插件在 Eclipse 中运行我的程序来解决它。如果这对你来说是一个选择,对我来说就像一个魅力。

【问题讨论】:

  • 你可以执行pip3 list并将结果粘贴到这里吗?还有,PYTHONPATH 设置了吗?
  • @Trein pip3 list 给了我以下信息:“distribute (0.6.49) pip (1.5.4) pyserial (2.7) setuptools (3.4.4)” 我不太确定我在做什么,但我尝试使用我找到的教程设置 PYTHONPATH。这就是我所做的: export PYTHONPATH=$PYTHONPATH:/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages 它没有修复它。我觉得这不是一个太复杂的问题,但它让我非常头疼。谢谢!
  • 一切似乎都是正确的。我最后的猜测是Python Launcher 使用了不正确的解释器(也许它使用的是 Python 2.7)。转到首选项并查看。

标签: python macos python-3.x module pyserial


【解决方案1】:

在默认使用 python 2.7 的 ubuntu 14.4 上,我借助以下命令为 python3(我的 IDE 实际使用的)安装了 pyserial:

sudo apt-get install python3-serial

【讨论】:

    【解决方案2】:

    首先使用两个命令(which pip & which python)得到python和pip命令的准确路径。 只有在此之后,您才能确定确切的问题。

    【讨论】:

    • /Library/Frameworks/Python.framework/Versions/3.3/bin/pip which python 给了我python 2.7,但我正在通过python启动器3执行它。这可能是问题吗?
    • 我不确定,但这可能是个问题。尝试使用 python 命令的相对路径,以便它选择你的 python 3.x。就像你应该使用 /xyzpath_for_python3.x/python 而不是使用 python
    【解决方案3】:

    对我来说,问题是通过在用户(非管理)上下文中运行脚本导入序列来解决的。 Windows,而不是 Mac,所以 YMMV。

    【讨论】:

    • 事后看来,这可能与计算机中 Python 安装的激增有关,与管理控制台相比,用户控制台解析为不同的安装。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2012-01-13
    • 2012-12-07
    • 2012-05-23
    • 2019-07-29
    • 2015-07-04
    相关资源
    最近更新 更多