pip install 報錯問題解決
有時在用pip install命令安裝python庫時出現紅字報錯
1.報錯:ReadTimeoutError: HTTPSConnectionPool(host=’pypi.python.org’, port=443): Read timed out.
Downloading xgboost-0.6a2.tar.gz (1.2MB) 48% |███████████████▋ | 583kB 47kB/s eta 0:00:13Exception:Traceback (most recent call last): File "c:\python27\lib\site-packages\pip\basecommand.py", line 215, in main status = self.run(options, args) File "c:\python27\lib\site-packages\pip\commands\install.py", line 335, in run wb.build(autobuilding=True) File "c:\python27\lib\site-packages\pip\wheel.py", line 749, in build self.requirement_set.prepare_files(self.finder) File "c:\python27\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files ignore_dependencies=self.ignore_dependencies)) File "c:\python27\lib\site-packages\pip\req\req_set.py", line 620, in _prepare_file session=self.session, hashes=hashes) File "c:\python27\lib\site-packages\pip\download.py", line 821, in unpack_url hashes=hashes File "c:\python27\lib\site-packages\pip\download.py", line 659, in unpack_http_url hashes) File "c:\python27\lib\site-packages\pip\download.py", line 882, in _download_http_url _download_url(resp, link, content_file, hashes) File "c:\python27\lib\site-packages\pip\download.py", line 603, in _download_url hashes.check_against_chunks(downloaded_chunks) File "c:\python27\lib\site-packages\pip\utils\hashes.py", line 46, in check_against_chunks for chunk in chunks: File "c:\python27\lib\site-packages\pip\download.py", line 571, in written_chunks for chunk in chunks: File "c:\python27\lib\site-packages\pip\utils\ui.py", line 139, in iter for x in it: File "c:\python27\lib\site-packages\pip\download.py", line 560, in resp_read decode_content=False): File "c:\python27\lib\site-packages\pip\_vendor\requests\packages\urllib3\response.py", line 357, in stream data = self.read(amt=amt, decode_content=decode_content) File "c:\python27\lib\site-packages\pip\_vendor\requests\packages\urllib3\response.py", line 324, in read flush_decoder = True File "c:\python27\lib\contextlib.py", line 35, in __exit__ self.gen.throw(type, value, traceback) File "c:\python27\lib\site-packages\pip\_vendor\requests\packages\urllib3\response.py", line 246, in _error_catcher raise ReadTimeoutError(self._pool, None, 'Read timed out.')ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.
錯誤原因:連不上pip的源,下載依賴包失敗
解決1(推薦):在pip安裝所在檔案夾路徑下,創造python檔案(.py)
import os ini="""[global] index-url = https://pypi.doubanio.com/simple/ [install] trusted-host=pypi.doubanio.com """ pippath=os.environ["USERPROFILE"]+"\\pip\\" if not os.path.exists(pippath): os.mkdir(pippath) with open(pippath+"pip.ini","w+") as f: f.write(ini)
在cmd上運行這個.py檔案即可
之後再用pip install安裝指令下載速度會非常快
解決2:修改加大逾時時間
pip --default-timeout=100 install -U pip
如下指令安裝
pip --default-timeout=100 install -U scrapy(庫名)
解決3:到https://pypi.python.org/simple/pip/下載相對應的.whl檔案
下載完之後,在用pip安裝:
pip install (path)/pip-8.1.2-py2.py3-none-any.whl
2.報錯:PermissionError: [WinError 5] 拒絕訪問。: ‘c:\program files\python35\Lib\site-packages\xlwt’
Exception:Traceback (most recent call last): File "c:\program files\python35\lib\site-packages\pip\basecommand.py", line 211, in main status = self.run(options, args) File "c:\program files\python35\lib\site-packages\pip\commands\install.py", line 311, in run root=options.root_path, File "c:\program files\python35\lib\site-packages\pip\req\req_set.py", line 646, in install **kwargs File "c:\program files\python35\lib\site-packages\pip\req\req_install.py", line 803, in install self.move_wheel_files(self.source_dir, root=root) File "c:\program files\python35\lib\site-packages\pip\req\req_install.py", line 998, in move_wheel_files isolated=self.isolated, File "c:\program files\python35\lib\site-packages\pip\wheel.py", line 339, inmove_wheel_files clobber(source, lib_dir, True) File "c:\program files\python35\lib\site-packages\pip\wheel.py", line 310, inclobber ensure_dir(destdir) File "c:\program files\python35\lib\site-packages\pip\utils\__init__.py", line 71, in ensure_dir os.makedirs(path) File "c:\program files\python35\lib\os.py", line 241, in makedirs mkdir(name, mode)PermissionError: [WinError 5] 拒絕訪問。: 'c:\\program files\\python35\\Lib\\site-packages\\xlwt'
解決:
點擊python27檔案夾->右鍵屬性->安全->編輯->完全控制->允許->儲存
3.報錯:UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xd3 in position 7: ordinal not in range(128)
Exception: Traceback (most recent call last): File “c:\python27\lib\site-packages\pip\basecommand.py”, line 215, in main status = self.run(options, args) File “c:\python27\lib\site-packages\pip\commands\install.py”, line 324, in run requirement_set.prepare_files(finder) File “c:\python27\lib\site-packages\pip\req\req_set.py”, line 380, in prepare_files ignore_dependencies=self.ignore_dependencies)) File “c:\python27\lib\site-packages\pip\req\req_set.py”, line 620, in _prepare_file session=self.session, hashes=hashes) File “c:\python27\lib\site-packages\pip\download.py”, line 821, in unpack_url hashes=hashes File “c:\python27\lib\site-packages\pip\download.py”, line 659, in unpack_http_url hashes) File “c:\python27\lib\site-packages\pip\download.py”, line 880, in _download_http_url file_path = os.path.join(temp_dir, filename) File “c:\python27\lib\ntpath.py”, line 85, in join result_path = result_path + p_path UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xd3 in position 7: ordinal not in range(128)
報錯原因:pip安裝Python包會載入目錄包含中文字元,ascii不能編碼
解決:python目錄 Python27\Lib\site-packages 建一個檔案sitecustomize.py
import sys sys.setdefaultencoding('gbk')
python會自動運行這個檔案