Python 3-找不到请求模块,但是我没有错误地安装了它

时间:2019-05-17 17:16:18

标签: python request

这是我的请求模块安装的样子:

[ec2-user@ip-xxx-xx-xx-xxx newslookup]$ python3 -m pipenv install requests
Installing requests…
Adding requests to Pipfile's [packages]…
✔ Installation Succeeded
Installing dependencies from Pipfile.lock (444a6d)…
   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 5/5 — 00:00:02
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

这是我的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
Traceback (most recent call last):
  File "nasdaq_scrape_sec.py", line 5, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'

会有人知道为什么Python无法找到它吗?

2 个答案:

答案 0 :(得分:0)

由于您正在使用pipenv来安装和管理依赖项,因此需要使用pipenv来运行脚本:

pipenv run python nasdaq_scrape_sec.py

原因是:

  • pipenv install将依赖项安装在虚拟环境中。就像完全独立安装的python

  • python使用系统安装,该系统没有安装依赖项。

  • pipenv run将使用virtualenv来运行您的代码,因此依赖项就在那里。

答案 1 :(得分:0)

好像您正在使用pipenv软件包管理器。 pipenv很棒,因为它在虚拟环境中而不是在全局Python环境中安装软件包。

pipenv将自动为您的项目创建和管理虚拟环境。 要在虚拟环境中运行脚本,您可以执行以下操作:

pipenv run python nasdaq_scrape_sec.py

或者,您可以使用以下方式激活虚拟环境

pipenv shell

然后像平常一样运行脚本:

$ python nasdaq_scrape_sec.py

如果您不熟悉Python中的虚拟环境,强烈建议您阅读one of the many guides online