ImportError:没有名为“appdirs”的模块

Posted

技术标签:

【中文标题】ImportError:没有名为“appdirs”的模块【英文标题】:ImportError: No module named '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 来安装它。但是,当我这样做时,它会安装在我似乎找不到的目录中。 【参考方案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

【讨论】:

以上是关于ImportError:没有名为“appdirs”的模块的主要内容,如果未能解决你的问题,请参考以下文章

为啥 ImportError:没有名为 lightgbm 的模块

ImportError:没有名为瓶子的模块

ImportError:没有名为枚举的模块

ImportError:没有名为 websocket 的模块

ImportError:没有名为“backports”的模块

ImportError:没有名为 ghostscript 的模块