如何修复Python ModuleNotFoundError

问题描述 投票:0回答:2

我通过多种方式安装了 netfilterqueue,从 GitHub 克隆并通过 pip 安装。在 python 3.7、3.8、3.9 上。 Netfilterqueue 仅安装在 3.6 和 3.7 上,尽管它花了一些时间。安装并测试 netfilterqueue 是否在交互模式下工作后,我尝试运行以前工作过的程序,但没有。它给了我一个 modulenotfound 错误。

ModuleNotFoundError:没有名为“netfilterqueue”的模块

我不知道我做错了什么 pip 告诉我它安装正确,但它在程序中不起作用。

编辑 所以我不使用 pycharm 或 anaconda,我主要在 VS Code 中编写代码。但我还没有走到那一步。我只是在终端中运行我的脚本,但它无法从脚本中找到该模块。我已经安装了所有这些依赖项,当我运行该命令时,我得到了

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'python-dev-is-python2' instead of 'python-dev'
build-essential is already the newest version (12.8).
libnetfilter-queue-dev is already the newest version (1.0.3-1).
python-dev-is-python2 is already the newest version (2.7.18-8).
The following packages were automatically installed and are no longer required:
  libpython3-dev libpython3.9-dev python3.9-dev
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.

现在突然间 pip3 install netfilterqueue for python 3.6 也不起作用了。我的系统上安装了 python 3.9 和 2.7,我使用 pyenv 来管理我的 python 3.6 版本,以尝试运行需要 netfilterqueue 的脚本。

更新: 所以我重新启动了计算机并从新的 Kali live 开始,它与 Kali live 附带的 python 3.8.4 一起工作。我不确定我做了什么来破坏我的安装。我刚刚安装了它并安装了 KDE 和拿铁底座并进行了更新,我认为这可能是由于我添加的测试存储库造成的,但我不确定这可能是问题所在吗?

python pythonpath modulenotfounderror
2个回答
0
投票

根据这个问题How do I install netfilterqueue for python3?看起来netfilterqueue在python 3.7上不能很好地工作,但在3.6上工作得很好,所以将整个环境调整为3.6版本,但是在anaconda或pycharm中通过项目解释器

  1. 您还需要根据文档https://pypi.org/project/NetfilterQueue/以及上一个问题中的第二个答案来安装它

    sudo apt-get install build-essential python-dev libnetfilter-queue-dev
    
  2. 另外,如果您正在使用 anaconda jupyter 笔记本或蜘蛛,解释器很可能无法找到软件包的安装位置 解决此问题的最简单方法是使用 --user 标志重新安装。默认情况下,Anaconda 将提取您的用户包。 尝试pip3 install netfilterqueue --user,然后看看是否可以导入它。

       pip3 uninstall netfilterqueue
       pip3 install netfilterqueue --user
    

这样做后请重新启动你的 anaconda
有时问题出在安装工具上,您可以尝试重新安装它们


0
投票

如果您的系统上已经安装了 Jupyter,而不是使用 pip 来安装它,那么当您在 pyenv 这样的虚拟环境中启动 Jupyter Notebook 时,您将无法使用

jupyter notebook
中已安装在 pyenv 中的依赖项。 在 pyenv 环境中,您可以首先尝试使用
pip install jupyter
安装 Jupyter,然后使用
python -m jupyter notebook
确保您可以利用 pyenv 中安装的所有依赖项。 我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.