【问题标题】:ImportError: No module named 'appdirs'ImportError:没有名为“appdirs”的模块
【发布时间】:2015-12-24 05:28:27
【问题描述】:

我正在尝试获取一个名为 hangoutsbot 的程序 在我的 linux 服务器上工作。我目前正在使用数字海洋服务器。但是,每次我尝试运行脚本时,它都会给我一个错误提示:

ImportError: No module named 'appdirs'

我不确定在这里做什么。我已经尝试从 npm 安装 appdirs 无济于事。该脚本在我的 mac 上运行良好,但它似乎不想在我的 linux 服务器上运行。任何帮助将不胜感激。

【问题讨论】:

  • 你是怎么安装的?几乎可以肯定你使用了错误的解释器来运行代码,
  • 我通过克隆目录中的文件夹来安装它。当我尝试运行它时,我只使用 python3 hangupsbot.py
  • which -a python3which python3 输出什么?还有需要的包,github.com/hangoutsbot/hangoutsbot/blob/master/requirements.txt
  • 你试过pip3 install hangoutsbot
  • which -a python3 输出:/usr/local/bin/python3 /usr/bin/python3.我已经使用 pip3 来安装它。但是,当我这样做时,它会安装在我似乎找不到的目录中。

标签: python linux server


【解决方案1】:

运行 hangoutsbot 时,您需要专门调用已安装模块的 python 版本。以下对我有用,我安装了 python3.4 和 python3.5。

python3.5 hangoutsbot/hangoutsbot.py -d

【讨论】:

    【解决方案2】:

    我在 Ubuntu 14.04 上遇到了这个问题,它附带了一个非常旧的 pip 版本。我使用的是 python 2.7。使用“pip install --upgrade pip”升级到更新版本的 pip 为我解决了这个问题。 (我在我的 virtualenv 中执行了此操作,但可能需要在系统级别,具体取决于您要执行的操作。)

    这是我发现解决方案的地方:

    https://www.reddit.com/r/Python/comments/5pwngp/setuptools_34_has_been_released_and_breaks_with/
    

    【讨论】:

    • pip install --upgrade pip 在我的 Linux Mint 18.1(基于 Ubuntu 16.04)上不起作用,因为它拒绝覆盖 pip 的系统安装:运行 apt-get remove python-pip 后跟 installing pip 为我工作。
    【解决方案3】:

    在解决“缺少 pyparsing 模块”错误over here 后,我遇到了同样的问题。然后我开始收到此错误:

    Traceback (most recent call last):
      File "/usr/bin/pip", line 5, in <module>
        from pkg_resources import load_entry_point
      File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 74, in <module>
        import appdirs
    ImportError: No module named appdirs
    

    然后我使用那里的手动安装步骤在pypi.python.org 上找到丢失的包,并想出了这个手动安装顺序:

    wget https://pypi.python.org/packages/48/69/d87c60746b393309ca30761f8e2b49473d43450b150cb08f3c6df5c11be5/appdirs-1.4.3.tar.gz
    gunzip appdirs-1.4.3.tar.gz
    tar -xvf appdirs-1.4.3.tar
    cd appdirs-1.4.3
    sudo python setup.py install
    

    这就解决了!

    【讨论】:

      【解决方案4】:

      由于某种原因,您的pipenv 安装没有完全完成,也许如果您只是卸载并重新安装所有丢失的软件包,它就可以工作。例如,如果您使用的是 MAC:

      sudo pip uninstall &lt;missing packages&gt; 及之后的sudo pip install &lt;missing packages&gt;

      在这种特定情况下:

      sudo pip uninstall appdirssudo pip install appdirs

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-11
        • 2012-12-07
        • 2012-05-23
        • 2019-07-29
        • 2015-07-04
        • 2014-03-15
        • 2017-12-29
        相关资源
        最近更新 更多