【问题标题】:Import error in Python 3.6 with sudo?使用 sudo 在 Python 3.6 中导入错误?
【发布时间】:2018-08-18 13:38:05
【问题描述】:

我编写了一个使用Scapy 的程序。 Python 可以完美导入scapy 模块,但是使用scapysniff 功能需要以管理员身份运行程序。 但是,以sudo python3 <program_name> 运行程序会产生import error,这是为什么呢?

这是导入行:import scapy.all as scapy

【问题讨论】:

  • 如果你在 virtualenv 中安装和使用 scapy,这还会发生吗?所以:virtualenv -p $(which python) venvsource venv/bin/activatepip install scapy 然后在 virtualenv 中运行你的代码
  • @Arnoux 我试过virtualenv,错误依然存在

标签: python linux ubuntu sudoers


【解决方案1】:

由于使用python3,我会推荐

sudo python3 -m pip install scapy

当然 pyenv 也可以,我希望你熟悉它。

【讨论】:

    【解决方案2】:

    您可以使用以下方法修复它:

    $ sudo pip install scapy
    

    然后再试一次。

    我建议使用virtualenv 来运行您的程序。而不是在你的主环境中安装一个又一个包。

    【讨论】:

    • sudo pip install scapy这是我得到的:The directory '/home/user/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.另外,尝试了virtualenv,错误仍然存​​在。
    猜你喜欢
    • 1970-01-01
    • 2019-03-20
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2019-09-29
    • 1970-01-01
    相关资源
    最近更新 更多