Python安裝Scrapy庫的常見報錯解決
由于Scrapy該庫在Windows下會存在兼容問題,下面介紹的是在Linux系統(tǒng)進行安裝。
1、關(guān)于pip3命令的報錯
報錯代碼:
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
解決方法:在原有命令后面追加參數(shù) --break-system-packages
因為scrapy可以直接當(dāng)做命令使用,所以我們也可以在終端輸入不存在的命令,它會提示你安裝
有時候pip3不行,我們也可以換pipx,或者apt install python3-文件名來進行安裝
pipx install scrapy
apt install python3-scrapy
2、執(zhí)行scrapy報錯(Python3下的OpenSSL模塊出錯)
報錯代碼:
Traceback (most recent call last):
File "/usr/bin/scrapy", line 33, in <module>
sys.exit(load_entry_point('Scrapy==2.10.0', 'console_scripts', 'scrapy')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/scrapy", line 25, in importlib_load_entry_point
return next(matches).load()
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/metadata/__init__.py", line 202, in load
module = import_module(match.group('module'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
...
AttributeError: module 'lib' has no attribute 'SSL_CTX_set_ecdh_auto'
這個是Python3下的OpenSSL模塊出錯,我們需要卸載它并重裝
解決方法:
pip3 uninstall pyopensslpip3 install pyopenssl
嘗試了一些命令發(fā)現(xiàn)不行
3、卸載pyopenssl時報錯
報錯代碼:
Found existing installation: pyOpenSSL 21.0.0
Not uninstalling pyopenssl at /usr/lib/python3/dist-packages, outside environment /usr
Can't uninstall 'pyOpenSSL'. No files were found to uninstall.
Requirement already satisfied: pyopenssl in /usr/lib/python3/dist-packages (21.0.0)
解決辦法:
找到該文件夾所在路徑,直接將pyOpenSSL-21.0.0目錄刪掉,再重新安裝
該文件夾在 /usr/lib/python3/dist-packages/ 下面
刪掉整個文件夾
重新使用命令安裝pyopenssl
pip3 install pyopenssl --break-system-packages
安裝成功后輸入scrapy命令
如下圖,則代表該庫已安裝成功
我們也可以進入ipython3進行驗證:
ipython是一個python的交互式shell,比默認(rèn)的python shell好用很多,支持變量自動補全,自動縮進,支持bash shell命令,內(nèi)置了許多很有用的功能和函數(shù)
只要可以成功導(dǎo)入該庫,沒有報錯,證明已經(jīng)安裝成功
到此這篇關(guān)于Python安裝Scrapy庫的常見報錯解決的文章就介紹到這了,更多相關(guān)Python安裝Scrapy報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python spilt()分隔字符串的實現(xiàn)示例
split() 方法可以實現(xiàn)將一個字符串按照指定的分隔符切分成多個子串,本文介紹了spilt的具體使用,感興趣的可以了解一下2021-05-05SpringBoot實現(xiàn)登錄注冊常見問題解決方案
這篇文章主要介紹了SpringBoot實現(xiàn)登錄注冊常見問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03Python?enumerate()計數(shù)器簡化循環(huán)
這篇文章主要介紹了Python?enumerate()計數(shù)器簡化循環(huán),enumerate()最大的優(yōu)點就是它返回一個帶有計數(shù)器和值的元組,因此我們不必自己增加計數(shù)器,下面就來看看文章具體對它的詳細(xì)介紹吧,需要的朋友可以參考一下2021-12-12基于文件路徑中/?\?//?\\的用法以及絕對相對路徑的問題
這篇文章主要介紹了基于文件路徑中/?\?//?\\的用法以及絕對相對路徑的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02Python兩個整數(shù)相除得到浮點數(shù)值的方法
這篇文章主要介紹了Python兩個整數(shù)相除得到浮點數(shù)值的方法,本文直接給出代碼示例,需要的朋友可以參考下2015-03-03