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.pywhich -a python3
和 which 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 <missing packages>
及之后的sudo pip install <missing packages>
在这种特定情况下:
sudo pip uninstall appdirs
和 sudo pip install appdirs
【讨论】:
以上是关于ImportError:没有名为“appdirs”的模块的主要内容,如果未能解决你的问题,请参考以下文章
为啥 ImportError:没有名为 lightgbm 的模块
ImportError:没有名为 websocket 的模块