gpt4 book ai didi

Python代码使用空闲运行但在命令行上失败?

转载 作者:太空宇宙 更新时间:2023-11-04 11:02:42 24 4
gpt4 key购买 nike

我正在学习 Python,我已经根据我正在阅读的书中的示例编写了一个脚本,其中导入了 urllib 库。当我从 IDLE 运行它时它工作正常,但是如果我转到文件所在的文件夹并运行“python test.py”,我会收到一个错误,它告诉我

Traceback (most recent call last):
File "test.py", line 1, in ?
import urllib.request
ImportError: No module named request

我确认我使用的是 Python 3.1.2。为什么这在命令行上失败有什么建议或想法?

我的代码:

import urllib.request
import time

price = 99.99
while price > 1.01:
time.sleep(3)
page = urllib.request.urlopen("http://www.beans-r-us.biz/prices.html")
text = page.read().decode("utf8")
where = text.find('>$')
start_of_price = where + 2
end_of_price = start_of_price + 4
price = float(text[start_of_price:end_of_price])

print ("Buy!")

最佳答案

urllib.request 是在 Python 3 中引入的。很有可能当您从命令行运行代码时,您使用的是较旧的 Python 2.x 二进制文件。

在命令行中键入 python --version 以查看正在使用的 Python。

编辑以回应 Drewdin 的评论

运行适用于 Mac OS X 的 Python 3.1.2 安装程序,我看到了这个:

NOTE: This package will by default not update your shell profile and will also not install files in /usr/local. Double-click Update Shell Profile at any time to make 3.1.2 the default Python.

The installer puts the applications in "Python 3.1" in your Applications folder, and the underlying machinery in /Library/Frameworks/Python.framework. It can optionally place links to the command-line tools in /usr/local as well, by default you have to add the "bin" directory inside the framework to you shell's search path.

因此,根据您的安装方式,您可能已经在 /usr/local/bin 中放置了链接,这些链接将在您的路径中。如果您在安装时选择了此选项,您只需在 shell 中键入 python3python3.1 即可获取更新版本。

否则,要么双击“更新 Shell 配置文件”,要么将其添加到您的路径中:

export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.1/bin

默认情况下,Python 3.x 不会在 Unix/Linux 环境中为 python 命令设置别名,因为它可能会干扰依赖于默认安装的 Python 的系统进程/命令。

关于Python代码使用空闲运行但在命令行上失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3956010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com