"Urlopen error unknown url type" 当 运行 Python 来自 CMD 的脚本
"Urlopen error unknown url type" when running Python script from CMD
我的目标是从 windows 任务调度程序启动我的脚本。
但是,我认为调度程序使用 CMD 启动代码 - 而 CMD 不想 运行 我的脚本!
当我 运行 来自 Anaconda 提示符或 Spyder 的脚本时,脚本完美启动。在 Anaconda 提示符下有效但在 CMD 中无效的命令是:C:\Users\ola_k\Anaconda3\envs\myvirtenv\python.exe C:\Users\ola_k\Desktop\myfilewithscript\script.py
当我在 CMD 中尝试 运行 上面的命令时,不幸的是它给我一个错误
urlopen error unknown url type: https.
我试图从我的 anaconda 环境中设置 PATH 变量。我也尝试创建 .BAT 文件,但 none 似乎有效。
我在 stackexhange 上阅读了很多关于 urlopen 错误的帖子,但是 none 似乎回答了我的问题:为什么我可以 运行 从 Anaconda prompt 和 Spyder 获取它,而不是使用 CMD?特别是因为我已经将从 anaconda 安装的 python 设置为路径变量。
这是我的脚本的一个片段:
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,这也可以解决我的问题。
我通过安装 Anaconda3 并将其直接从选项添加到我的路径(尽管不推荐)解决了这个问题。
我的目标是从 windows 任务调度程序启动我的脚本。
但是,我认为调度程序使用 CMD 启动代码 - 而 CMD 不想 运行 我的脚本!
当我 运行 来自 Anaconda 提示符或 Spyder 的脚本时,脚本完美启动。在 Anaconda 提示符下有效但在 CMD 中无效的命令是:C:\Users\ola_k\Anaconda3\envs\myvirtenv\python.exe C:\Users\ola_k\Desktop\myfilewithscript\script.py
当我在 CMD 中尝试 运行 上面的命令时,不幸的是它给我一个错误
urlopen error unknown url type: https.
我试图从我的 anaconda 环境中设置 PATH 变量。我也尝试创建 .BAT 文件,但 none 似乎有效。
我在 stackexhange 上阅读了很多关于 urlopen 错误的帖子,但是 none 似乎回答了我的问题:为什么我可以 运行 从 Anaconda prompt 和 Spyder 获取它,而不是使用 CMD?特别是因为我已经将从 anaconda 安装的 python 设置为路径变量。
这是我的脚本的一个片段:
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,这也可以解决我的问题。
我通过安装 Anaconda3 并将其直接从选项添加到我的路径(尽管不推荐)解决了这个问题。