【发布时间】:2020-10-17 23:34:51
【问题描述】:
我是 python 新手,我真的对很多事情感到困惑。我主要用 PHP 开发我的项目,但由于我的主机无法让我访问 v8js,我必须使用 python 来完成我的任务。
我不明白的是: 在我的服务器上运行 python 2.7,如果我使用 pip 安装某些软件包的最新版本,它会安装适用于 python 2.7 的版本,还是会安装它,即使它只在 python 3 中运行?
我正在尝试安装和使用https://pypi.org/project/cfscrape/,但我无法强制它工作,但是在 Repl.it 上尝试它时它可以正常工作。
所以我猜我的服务器上有些东西不对,但不知道是什么,因为我刚刚使用了 pip install cfscrape 并且它安装了那个包。
编辑: 你认为这个错误可能是使用 python 2 的结果,或者这与使用的 python 版本无关?所有depadances都已安装
Traceback(最近一次调用最后一次):
文件“/usr/lib64/python2.7/runpy.py”,第 151 行,在 _run_module_as_main mod_name, loader, code, fname = _get_module_details(mod_name)
文件“/usr/lib64/python2.7/runpy.py”,第 101 行,在 _get_module_details 中 loader = get_loader(mod_name)
文件“/usr/lib64/python2.7/pkgutil.py”,第 464 行,在 get_loader 返回 find_loader(全名)
文件“/usr/lib64/python2.7/pkgutil.py”,第 474 行,在 find_loader 对于 iter_importers(fullname) 中的导入器:
文件“/usr/lib64/python2.7/pkgutil.py”,第 430 行,在 iter_importers 进口(pkg)
文件“main.py”,第 3 行,在 test = scraper.get("https://www.klix.ba/koronavirus-u-bih").content
文件“/home/admin/.local/lib/python2.7/site-packages/requests/sessions.py”,第 543 行,在 get return self.request('GET', url, **kwargs)
文件“/home/admin/.local/lib/python2.7/site-packages/cfscrape/init.py”,第 129 行,在请求中 resp = self.solve_cf_challenge(resp, **kwargs)
文件“/home/admin/.local/lib/python2.7/site-packages/cfscrape/init.py”,第 204 行,在 solve_cf_challenge 答案,延迟 = self.solve_challenge(body, domain)
文件“/home/admin/.local/lib/python2.7/site-packages/cfscrape/init.py”,第 292 行,在 solve_challenge %BUG_REPORT
ValueError:无法在网站上识别 Cloudflare IUAM Javascript。 Cloudflare 可能已经改变了他们的技术,或者脚本中可能存在错误。
在 Repl.it 上它正在工作,而在我的服务器上它不是
【问题讨论】:
-
我只需要“我是 python 新手”就可以向你建议你真的应该使用 Python 3。Python 2 已经死了(支持在将近一年前被放弃了)
-
您链接到的页面对版本控制要求不是很明确,但是如果您点击进入
cfscrape项目的 Github 主页,它会声明支持 Python 2.6+。 -
cloudflare-scrape 在 python 2.7 到 3.7 中工作,所以,是的,您可以将它安装在您的机器上,查看自述文件 [README][1] [1]:github.com/Anorov/cloudflare-scrape#cloudflare-scrape
-
Tnx 我确实读过 Read me 并且我知道它应该支持 2.7 但我不确定它是否会自动检测到正在使用的版本然后安装该版本的代码(因为我理解 2 的代码和 3 的语法不同)
标签: python