簡體   English   中英

關於在 Python 2.7 上安裝包的問題

[英]Question about installing packages on Python 2.7

我是 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 都已安裝

回溯(最近一次調用最后一次):

文件“/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(fullname)

文件“/usr/lib64/python2.7/pkgutil.py”,第 474 行,在 iter_importers(全名)中的導入器的 find_loader 中:

文件“/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”, line 543, in get return self.request('GET', url, **kwargs)

文件“/home/admin/.local/lib/python2.7/site-packages/cfscrape/ INIT py”為,線129,在請求RESP = self.solve_cf_challenge(相應,** kwargs)

文件“/home/admin/.local/lib/python2.7/site-packages/cfscrape/ INIT py”為,線204,在solve_cf_challenge答案,延遲= self.solve_challenge(體,結構域)

文件“/home/admin/.local/lib/python2.7/site-packages/cfscrape/初始化的.py”,第292行,在solve_challenge%BUG_REPORT

ValueError:無法在網站上識別 Cloudflare IUAM Javascript。 Cloudflare 可能已經更改了他們的技術,或者腳本中可能存在錯誤。

在 Repl.it 上它可以工作,而在我的服務器上它不是

大多數 Python 開發人員安裝不止一個版本的 Python。 這可能是由於操作系統包含舊的 Python 發行版,或者開發人員自己在具有不同 Python 版本的項目上工作。

在系統上使用多個 Python 發行版直接運行pip可執行文件是不可預測和模棱兩可的。 您可以使用 Linux 中的which命令深入了解 pip 實際執行的內容

❯❯❯ which pip                  
/home/abhishek/software/miniconda2/envs/quantum/bin/pip
❯❯❯ which pip2                 
/home/abhishek/.local/bin/pip2
❯❯❯ which pip3                 
/home/abhishek/software/miniconda2/envs/quantum/bin/pip3

使用 pip 的更好方法是明確指定要使用的 Python 可執行文件。 這將確保 pip 將使用您指定的 python 版本

❯❯❯ python -m pip   # will use whatever python version this alias points to
❯❯❯ python2 -m pip  
❯❯❯ python3 -m pip  

PS: Python 2已經折舊了。 強烈建議對所有用例使用Python 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM