【问题标题】:"Urlopen error unknown url type" when running Python script from CMD从 CMD 运行 Python 脚本时出现“Urlopen 错误未知 url 类型”
【发布时间】:2019-11-07 13:24:03
【问题描述】:

我的目标是从 Windows 任务调度程序启动我的脚本。

但是,我认为调度程序使用 CMD 来启动代码 - 而 CMD 不想运行我的脚本!

当我从 Anaconda 提示符或 Spyder 运行脚本时,脚本会完美启动。在 Anaconda 提示符下工作的命令是:C:\Users\ola_k\Anaconda3\envs\myvirtenv\python.exe C:\Users\ola_k\Desktop\myfilewithscript\script.py

当我尝试在 CMD 中运行上述命令时,不幸的是它给了我一个错误

urlopen 错误未知 url 类型:https。

我试图从我的 anaconda 环境中设置 PATH 变量。我也尝试过创建 .BAT 文件,但似乎都不起作用。

我在 stackexhange 上阅读了很多关于 urlopen 错误的帖子,但似乎没有人回答我的问题:为什么我可以从 Anaconda 提示符和 Spyder 运行它,但不能使用 CMD?特别是因为我已经将安装从 anaconda 的 python 设置为路径变量。

这是我脚本中的一个 sn-p:

import smtplib 
from email.mime.text import MIMEText 
from bs4 import BeautifulSoup as soup
from urllib.request import Request, urlopen
import time
from datetime import date, timedelta
import re


CPV = "73000000" 
req = "https://doffin.no/Notice?query=&PageNumber=1&PageSize=100&OrderingType=0&OrderingDirection=1&RegionId=&CountyId=&MunicipalityId=&IsAdvancedSearch=false&location=&NoticeType=&PublicationType=&IncludeExpired=false&Cpvs="+CPV+"&EpsReferenceNr=&DeadlineFromDate=&DeadlineToDate=&PublishedFromDate=&PublishedToDate="

urlRequest = []
urlRequest.append(Request(req, headers={"User-Agent": "Mozilla/5.0"}))
webpage = urlopen(urlRequest[0]).read() 
page_soup = soup(webpage, "html.parser")

当我从 Spyder 或 Anaconda 提示符运行代码时,它确实可以工作,所以我认为代码本身很好。

注意:如果有其他解决方案,例如如何从任务调度程序运行 Anaconda Prompt,这也可以解决我的问题。

【问题讨论】:

  • cmd,你从运行where python得到什么?
  • C:\Users\ola_k\Anaconda3\python.exe

标签: python cmd anaconda urllib urlopen


【解决方案1】:

我通过重新安装 Anaconda3 并直接从选项将其添加到我的路径中解决了这个问题(即使不推荐这样做)。

【讨论】:

    猜你喜欢
    • 2015-10-13
    • 2015-01-22
    • 2019-07-22
    • 2020-10-15
    • 2012-12-26
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2015-04-07
    相关资源
    最近更新 更多