这是我的请求模块安装的样子:
[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无法找到它吗?
答案 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。