【问题标题】:Python - import json returning module not foundPython - 找不到导入json返回模块
【发布时间】:2012-03-08 20:38:58
【问题描述】:

我对这整个 python 交易是新手,承认我迷失了一半 - 不知道我是来还是去。所以,这是问题,我希望有人能帮助我。

我正在运行一个 RedHat 系统,默认情况下,它安装了 python 2.4。我有一个 python 脚本在尝试导入 json 时给我一个错误。

我检查了我的 phpinfo,它显示我有 json 版本 1.2.1(或其他版本) - 那么为什么 Python 不识别这个 json 确实存在呢?是否有我需要编辑的文件以手动输入或编辑 python 在哪里查找 json,如果是,在哪里?

我什至尝试安装 simplejson 和 python 3 - 到目前为止没有任何效果,而且我已经没有头发可以拔了。

任何帮助将不胜感激 - 在此先感谢。

【问题讨论】:

    标签: python linux json


    【解决方案1】:

    PHP 不是 Python,而且您的 PHP 版本支持 JSON 对您的 Python 安装没有影响。 json 模块是在 Python 2.6 中引入的。

    您可以尝试安装simplejson,但根据文档,它仅在 Python 2.5 之后才受支持。 (应该阅读整个问题)

    我会升级 Python 版本(最新版本是 2.7.2)。你没有说为什么 Python 3 的安装不起作用,但也许留在同一个分支(即 2.7)会解决。

    【讨论】:

    • 在 2.4 中,您缺少很多非常好的功能。我还建议尽可能升级。
    • 如果我输入 python -v 来检查版本 - 默认 2.4 出现。如果我输入 /opt/python3/bin/python3 -V,那么我会得到 3.2 版。但这是让我对我正在运行的版本感到困惑的部分 - 如果我输入 python3 -V,我会得到命令未找到。
    • ` /opt/python3/bin` 显然不在你的PATH
    • 我不确定您的意思-但我发布的内容正是我在命令行中输入的内容-这就是我得到的结果-我在主目录中-但具有root访问权限-不知道如果这有什么不同
    • 在您的主目录中,您有某种形式的 .profile 或 .bash_profile 等。它定义了您的环境。目前该路径不在您的 PATH 变量中,因此您的 shell 不知道到那里去解析 python3
    【解决方案2】:

    python需要json的python模块和json的php模块一样。

    有一些可供选择,例如您可以使用python-cjson,因此请确保已安装此模块。

    您可以像这样询问 rpm 安装了哪些软件包:rpm -qa | grep json

    【讨论】:

    • # rpm -qa | grep json - 输入时 - 我得到:uptrack-python-cjson-1.0.5-5.el5
    • 什么是正确的导入命令来拉入这个版本的 ppython-cjson
    • 但是,json 是 Python 2.6 中的标准模块,这意味着该脚本是针对 Python 2.6 或更高版本编写和测试的。即使安装了一些 json 模块并且脚本使用了它,该脚本似乎很可能会以其他方式失败,因为它不是用 Python 2.4 编写的。
    • 好的 - 到目前为止我和你在一起。那么,如何让我的 3.2 安装默认安装而不是 2.4
    • @user1257948: import cjson as json
    猜你喜欢
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 2017-10-13
    相关资源
    最近更新 更多