繁体   English   中英

Python 3 - 在使用 pip(非 root)安装 lxml 后获取“No module named 'lxml'”

[英]Python 3 - getting "No module named 'lxml' " after installing lxml with pip (non-root)

我只想说,我已经在Pip 上看到了这个问题已经安装:但是我没有得到名为 lxml 的模块,并且看到了关于将其安装为非 root 的一个答案,这就是我所做的,但没有帮助我。

我刚刚安装了 lxml,这是我的安装方法:

[ec2-user@ip-xxx-xx-xx-xxx newslookup]$ pip install --user lxml
Collecting lxml
  Using cached https://files.pythonhosted.org/packages/89/51/a8a6cdb8a084d32dbc9bda94623dc35310ae2002be57de8702a1703c0026/lxml-4.3.3-cp27-cp27mu-manylinux1_x86_64.whl
Installing collected packages: lxml
Successfully installed lxml-4.3.3

所以安装一切顺利。

这是python脚本:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from lxml import html
import requests
from time import sleep
import json
import argparse
from random import randint

这是我运行脚本时的输出:

[ec2-user@ip-xxx-xx-xx-xxx newslookup]$ python3 nasdaq_scrape_sec.py aapl
Traceback (most recent call last):
  File "nasdaq_scrape_sec.py", line 4, in <module>
    from lxml import html
ModuleNotFoundError: No module named 'lxml'

此外,我找不到用于此的车轮安装。

您使用的是什么版本的python,您使用的是python2.7 安装pip else python3 您应该使用什么版本的pip3

尝试升级。 pip install --upgrade lxml

就我在 Windows 中的情况而言,这是因为我安装了多个 python.exe 实例。 软件包安装在一个实例上,但运行脚本使用了另一个实例。 所以你想运行安装了 pip 的特定 python.exe 实例。 您可以通过尝试安装相同的软件包两次来找出它的安装位置。 第二次它会给你这样的消息:

需求已经满足:lxml in c:\\users\\blahuser\\appdata\\local\\programs\\python\\python36-32\\lib\\site-packages (4.3.4)

查看此相关帖子以获取更多信息: ModuleNotFoundError: pip install 后没有名为“requests”的模块

您应该能够使用以下命令行成功运行:

c:\\Users\\blahuser\\AppData\\Local\\Programs\\Python\\Python36-32\\python.exe c:\\test\\scripts\\blah.py

我想你也可以修复环境变量以触发正确的 python.exe 开始,问题也会消失,甚至强制在 python 的默认实例上安装 pip(见上面的链接)

我有一个类似的问题,我解决了它

在我的代码中是

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

我用这个替换了所有文件

#!/usr/bin/env python
# -*- coding: utf-8 -*-

尝试删除这一行也许它会帮助你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM