Python PIP Install พ่น TypeError: ไม่รองรับประเภทตัวถูกดำเนินการสำหรับ - =: 'Retry' และ 'int'


107

การใช้pip installสำหรับโมดูลใด ๆ ที่เห็นได้ชัดในระบบ Ubuntu 16.04 ของฉันด้วย python 2.7.11+ ทำให้เกิดข้อผิดพลาดนี้:

TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

pip ผิดอะไร ฉันจะติดตั้งใหม่ได้อย่างไรหากจำเป็น

อัปเดต: การย้อนกลับแบบเต็มอยู่ด้านล่าง

sunny@sunny:~$ pip install requests
Collecting requests
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 209, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 328, in run
    wb.build(autobuilding=True)
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 748, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 360, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 512, in _prepare_file
    finder, self.upgrade, require_hashes)
  File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 273, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 442, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 400, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 545, in _get_pages
    page = self._get_page(location)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 648, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 757, in get_page
    "Cache-Control": "max-age=600",
  File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 480, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 378, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/usr/share/python-wheels/CacheControl-0.11.5-py2.py3-none-any.whl/cachecontrol/adapter.py", line 46, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/adapters.py", line 376, in send
    timeout=timeout
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 610, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/util/retry.py", line 228, in increment
    total -= 1
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

@MartijnPieters แน่นอนต่อท้ายข้อมูลนั้น
devautor

แล้วล้อเหล่านั้นมาจากไหน? pipโดยปกติจะใช้requestsแพ็คเกจแบบฝังและrequestsโดยปกติจะใช้urllib3แพ็คเกจฝังตัว ล้อเหล่านี้ไม่ใช่รุ่นฝังตัวและอาจไม่เข้ากันกับpipคลาสย่อยของรหัสนี้บางส่วน /usr/share/python-wheelsอาจจะย้ายออกไป?
Martijn Pieters

ฉันคาดหวังpipที่จะใช้pip/_vendor/requests/และpip/_vendor/requests/packages/urllib3/ไม่ได้หรือ/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests /usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3
Martijn Pieters

ฉันไม่รู้เลยเกี่ยวกับเรื่องนี้! ฉันจะหาข้อมูลเกี่ยวกับเรื่องนี้ได้ที่ไหนหรือจะทำอย่างไร
devautor

ขออภัยไม่มีคำตอบง่ายๆที่นี่ เพียงแค่พยายามวินิจฉัยปัญหาของคุณ การย้อนกลับเป็นสิ่งที่ไม่คาดคิดและชี้ไปที่การปะทะกันระหว่างเวอร์ชัน ซึ่งเป็นเหตุผลว่าทำไมโดยปกติrequestsและpipฝังการอ้างอิง การย้อนกลับของคุณแสดงให้เห็นว่าไม่มีการใช้เวอร์ชันที่ฝังไว้ แต่ทำไมฉันจึงไม่รู้
Martijn Pieters

คำตอบ:


87

Ubuntu มาพร้อมกับเวอร์ชันของ PIP จาก precambrian และนั่นคือวิธีที่คุณต้องอัปเกรดหากคุณไม่ต้องการใช้เวลาหลายชั่วโมงในการแก้ไขปัญหาที่เกี่ยวข้องกับ pip

apt-get remove python-pip python3-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3 get-pip.py

ตามที่คุณสังเกตฉันได้รวมข้อมูลสำหรับทั้ง Python 2.x และ 3.x


2
การทำ python get-pip.py ล้มเหลวด้วย "OSError: [Errno 13] ถูกปฏิเสธการอนุญาต: '/usr/local/lib/python2.7/site-packages/pip-8.1.2.dist-info'"
devautor

2
@mirror ใช้ sudo เพราะ get-pip.py จะพยายามติดตั้ง pip
Raghuram Vadapalli

45
ปัญหานี้ไม่เกี่ยวข้องกับ pip การติดตามสแต็กแสดงว่าการร้องขอเพื่อรับแพ็กเกจล้มเหลวซึ่งบ่งบอกถึงปัญหาเครือข่าย การบอกให้ OP ติดตั้ง pip ใหม่จะเป็นการอ้อม
ทม

2
นี่คือคำตอบที่ถูกต้องผู้กระทำผิดคือการแก้ไขแบบบัญญัติpipที่ยังคงไม่ได้รับการแก้ไขในหลายรุ่นในขณะนี้: github.com/pypa/pip/issues/4779
lurscher

2
ใช้กับ raspberian ไม่สามารถเรียกใช้ "pip" ได้อีกต่อไป สามารถเรียกใช้ pip3 เท่านั้น ฉันต้องเพิ่มลิงก์สัญลักษณ์: ln -s / usr / local / bin / pip / usr / bin / pip ที่ถ่าย (และแก้ไข) จากคำตอบนี้: stackoverflow.com/questions/29712519/…
TheTrowser

37

หากคุณอยู่หลังพร็อกซีคุณต้องทำตามขั้นตอนการกำหนดค่าเพิ่มเติมก่อนเริ่มการติดตั้ง คุณต้องตั้งค่าตัวแปรสภาพแวดล้อม http_proxy เป็นที่อยู่พร็อกซี การใช้ bash สามารถทำได้ด้วยคำสั่ง

export http_proxy="http://user:pass@my.site:port/" 

คุณยังสามารถระบุไฟล์

--proxy=[user:pass@]url:port 

พารามิเตอร์ไปยัง pip [user:pass@]ส่วนจะเป็นตัวเลือก


25

การอัปเดต setuptools ได้ผลดีสำหรับฉัน

sudo pip install --upgrade setuptools

ทำงานให้ฉันด้วย อันที่จริงหลังจากการทำเช่นนี้ฉันตระหนักว่าข้อผิดพลาดที่ใช้ในการปรากฏขึ้นหลังจากที่: เก็บ setuptools (จาก kiwisolver> = 1.0.1-> matplotlib)
mayid

3
สิ่งนี้ใช้ได้ผลกับฉันเช่นกันกับ Raspian Stretch โปรดยอมรับคำตอบนี้เพื่อให้ง่ายต่อการค้นหา
Sam Hammamy

จำเป็นต้องรีบูตเครื่องหลังจากนั้นจึงจะอบได้ด้วย raspbian
Pipo

4
คำสั่งนี้ทำให้เกิด TypeError เดียวกันสำหรับฉันบน Debian9 นี่ไม่ใช่วิธีแก้ปัญหาสากล
sir__finley

15

ก่อนอื่นปัญหานี้เกิดขึ้นเนื่องจากปัญหาเครือข่ายการถอนการติดตั้งและติดตั้งใหม่ทุกอย่างจะไม่ช่วยได้มากนัก คุณอาจอยู่หลังพร็อกซีและในกรณีนี้คุณต้องตั้งค่าพร็อกซี

แต่ในกรณีของฉันฉันประสบปัญหาเพราะฉันไม่ได้ใช้พร็อกซี โดยทั่วไปฉันทำงานหลังพร็อกซี แต่เมื่อทำงานจากที่บ้านฉันตั้งค่าพร็อกซีเป็นไม่มีในการตั้งค่าเครือข่าย

แต่ฉันยังคงได้รับข้อผิดพลาดเดิมแม้ว่าจะลบการตั้งค่าพร็อกซีแล้วก็ตาม

ดังนั้นเมื่อฉันพิมพ์

env | grep proxy

ฉันพบสิ่งนี้:

http_proxy=http://127.0.0.1:1234/

และนี่คือเหตุผลที่ฉันยังคงได้รับข้อผิดพลาดเดิมแม้ว่าฉันคิดว่าฉันได้ลบการตั้งค่าพร็อกซีแล้วก็ตาม

หากต้องการยกเลิกการตั้งค่าพร็อกซีนี้ให้พิมพ์

unset http_proxy

ทำตามแนวทางเดียวกันสำหรับรายการอื่น ๆ ทั้งหมดเช่น https_proxy


14

สิ่งที่เกิดขึ้นที่นี่คือการปะทะกันของคำขอ / urllib3 เวอร์ชันที่จำหน่ายเมื่อนำเข้าในสองที่ที่แตกต่างกัน (รหัสเดียวกัน แต่ชื่อต่างกัน) หากคุณมีข้อผิดพลาดของเครือข่ายจะไม่พยายามรับวงล้ออีกครั้ง แต่ล้มเหลวด้วยข้อผิดพลาดข้างต้น ดูที่นี่สำหรับการดำน้ำลึกลงไปในข้อผิดพลาดนี้

สำหรับการแก้ปัญหาที่มี pip ระบบดูข้างต้น

หากคุณมีปัญหานี้ใน Virtualenv ที่สร้างโดยpython -m venv(ซึ่งยังคงคัดลอกล้อมา/usr/share/python-wheelsแม้ว่าคุณจะติดตั้ง pip แยกกันก็ตาม) วิธีที่ง่ายที่สุดในการ "แก้ไข" ดูเหมือนจะเป็น:

  1. สร้าง Virtualenv: /usr/bin/python3.6 -m venv ...
  2. ติดตั้งrequestsในสภาพแวดล้อม (อาจทำให้เกิดข้อผิดพลาดข้างต้น):<venv>/bin/pip install requests
  3. ลบเวอร์ชันที่คัดลอกrequestsซึ่งจะใช้โดย pip:rm <venv>/share/python-wheels/{requests,chardet,urllib3}-*.whl

ตอนนี้<venv>/bin/pipใช้เวอร์ชันที่ติดตั้งrequestsซึ่งมีผู้จำหน่าย urllib3


ขอบคุณฉันเพิ่งลบสิ่งนี้ออก/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whlและได้รับการแก้ไขแล้ว (โดยไม่ต้องใช้ Virtualenv)
krsoni

จริงๆแล้วในกรณีของฉันฉันไม่ได้ใช้ virtual env
krsoni

หากคุณลบไฟล์ WHL โดยตรงใน/usr/share/python-wheels, python -m venvจะไม่สร้าง useable <venv>/bin/pip อีกต่อไป ดังนั้นหากคุณลบไฟล์เหล่านี้คุณควรแน่ใจว่าคุณไม่ต้องการมัน หากคุณต้องการทั้ง System pip และ venv pip คุณต้องทำการติดตั้งระบบด้วยget-pip.py(ดูstackoverflow.com/a/37531821/1380673 ) และคุณต้องลบไฟล์ whl ในแต่ละ venv
Jan Katins

7

ไม่ได้เปิดพอร์ต 443 เพียงอนุญาตพอร์ต tcp ที่กำหนดเอง 443 หากบน AWS อื่นเปิดพอร์ต 443 สำหรับการเชื่อมต่อขาออก ...


สิ่งนี้ช่วยฉันครั้งใหญ่ในคลัสเตอร์ OpenStack ของฉัน !! ดีดีพัค!
อรุณดา

5

แค่อัพเกรด pip ก็ใช้ได้สำหรับฉัน:

pip install --upgrade pip


5
ข้อผิดพลาดเกิดขึ้นกับฉันขณะเรียกใช้คำสั่งที่แน่นอนมากนี้ :(
allan.simon

มันแก้ไขข้อผิดพลาดให้ฉันใน Raspbian Sketch Lite
Raúl Salinas-Monteagudo

1
ฉันใช้ Raspian Stretch Lite ด้วยและไม่ได้แก้ไขข้อผิดพลาด
Stefan Wegener

ฉันเห็นด้วยว่ามันใช้งานได้อย่างสวยงาม "python -m pip install --upgrade pip"
imbatman

2

ฉันมีปัญหาเดียวกันเมื่อติดตั้ง RaspberryPI TFT จาก Adafruit กับpitft.sh / adafruit-pitft.sh

ฉันไม่พอใจเกี่ยวกับรูปแบบการเข้ารหัสที่มีข้อผิดพลาดจากที่ใดที่หนึ่งให้ตีความได้ - ดังที่เห็นได้จากคำตอบก่อนหน้านี้

หมายเหตุ: ข้อผิดพลาดประเภทข้อยกเว้นของretry.pyเห็นได้ชัดว่าเป็นข้อผิดพลาดที่เกิดจากการกำหนดที่ไม่เหมาะสมและการคำนวณอินสแตนซ์ของคลาสตอบกลับเป็นintด้วยค่าเริ่มต้น10 - ที่ไหนสักแห่งในโค้ด ... ควรได้รับการแก้ไขอย่างใดอย่างหนึ่ง โดยการเพิ่มตัวดำเนินการในสถานที่หรือแก้ไขการมอบหมายที่ผิดพลาด

เลยพยายามวิเคราะห์และแก้ไขข้อผิดพลาดตัวเองก่อน ข้อผิดพลาดที่เกิดขึ้นจริงในกรณีที่กรณีของฉันคือเดียวกัน - retry.pyเรียกโดยpip

สคริปต์การติดตั้งadafruit-pitft.sh / pitft.shพยายามใช้urllib3ซึ่งตัวเองพยายามติดตั้งการอ้างอิงที่ซ้อนกันโดยpipดังนั้นข้อผิดพลาดเดียวกัน

adafruit-pitft.sh # หรือ pitft.sh

...

_stacktrace = sys.exc_info () [2]) ไฟล์ "/usr/share/python-wheels/urllib3-1.13.1-py2.py3 none-any.whl / urllib3 / util / retry.py" บรรทัด 228 ใน เพิ่มขึ้น

รวม - = 1

TypeError: ไม่รองรับประเภทตัวถูกดำเนินการสำหรับ - =: 'Retry' และ 'int'

สำหรับการแจกแจงปัจจุบัน (อิงจากเดเบียน -9.6.0 / การยืด):

ไฟล์ "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/retry.py" บรรทัด 315 ทีละน้อย

รวม - = 1

TypeError: ไม่รองรับประเภทตัวถูกดำเนินการสำหรับ - =: 'Retry' และ 'int'

ต่อไปนี้ - dirty * :) - patch เปิดใช้งานการติดตามข้อผิดพลาดที่ทำให้เกิดเสียง:

# File: retry.py - in *def increment(self, ..* about line 315
# original: total = self.total

# patch: quick-and-dirty-fix
# START:
if isinstance(self.total, Retry):
    self.total = self.total.total

if type(self.total) is not int:
    self.total = 2 # default is 10
# END:

# continue with original:
total = self.total

if total is not None:
    total -= 1

connect = self.connect
read = self.read
redirect = self.redirect
cause = 'unknown'
status = None
redirect_location = None

if error and self._is_connection_error(error):
    # Connect retry?
    if connect is False:
        raise six.reraise(type(error), error, _stacktrace)
    elif connect is not None:
        connect -= 1

เอาต์พุตที่ทำให้เกิดเสียงพร้อมกับแพทช์ชั่วคราวคือ (แสดงสองครั้ง ... ?):

การลองใหม่ (ลองใหม่ (ทั้งหมด = 1, เชื่อมต่อ = ไม่มี, อ่าน = ไม่มี, เปลี่ยนเส้นทาง = ไม่มี)) หลังจากการเชื่อมต่อถูกทำลายโดย 'ConnectTimeoutError (<request.packages.urllib3.connection.VerifiedHTTPSConnection วัตถุที่ /

การลองใหม่ (ลองใหม่ (รวม = 0, เชื่อมต่อ = ไม่มี, อ่าน = ไม่มี, เปลี่ยนเส้นทาง = ไม่มี)) หลังจากการเชื่อมต่อถูกทำลายโดย 'ConnectTimeoutError (<request.packages.urllib3.connection.VerifiedHTTPSConnection วัตถุที่ /

ไม่พบเวอร์ชันที่ตรงตามข้อกำหนด evdev (จากเวอร์ชัน:)

ไม่พบการแจกแจงที่ตรงกันสำหรับ evdev

คำเตือน: Pip ไม่สามารถติดตั้งซอฟต์แวร์!

ดังนั้นในกรณีของฉันมีสองสิ่งที่ทำให้เกิดข้อผิดพลาดซึ่งอาจแตกต่างกันไปในสภาพแวดล้อมอื่น ๆ :

  1. ไม่มีevdev => พยายามติดตั้ง
  2. ไม่สามารถเชื่อมต่อ repo / dist ที่มีevdevเพื่อดาวน์โหลด => ในที่สุดก็ยอมแพ้

สภาพแวดล้อมการติดตั้งของฉันออฟไลน์จากกระจก debian + raspbian ภายในจึงไม่ต้องการตั้งค่าพร็อกซี ...

ดังนั้นฉันจึงดำเนินการติดตั้งด้วยตนเองของส่วนประกอบที่หายไปevdev :

  1. ดาวน์โหลด evdev จาก PyPI (หรือเช่นจาก github.com):

    https://pypi.org/project/evdev/

    https://files.pythonhosted.org/packages/7e/53/374b82dd2ccec240b7388c65075391147524255466651a14340615aabb5f/evdev-1.1.2.tar.gz

  2. แกะและติดตั้งด้วยตนเองในฐานะผู้ใช้รูท - สำหรับบัญชีภายในทั้งหมดดังนั้นตรวจพบเมื่อติดตั้ง:

    sudo su -

    tar xf evdev-1.1.2.tar.gz

    ซีดี evdev-1.1.2

    python setup.py ติดตั้ง

  3. เรียกสคริปต์การติดตั้งอีกครั้ง:

    adafruit-pitft.sh # หรือ pitft.sh

    ... ตอบข้อหารือ ...

    ...แค่นั้นแหละ.

หากคุณดำเนินการออนไลน์โดยการเข้าถึงPyPIโดยตรง:

  1. ตรวจสอบเส้นทาง + ไฟร์วอลล์ของคุณเพื่อเข้าถึงpypi.org

  2. ตั้งค่าพร็อกซีหากจำเป็น (http_proxy / https_proxy)

และได้ผล ..

หวังว่านี่จะช่วยในกรณีอื่น ๆ ด้วย

Arno-Can Uestuensoez

----------------------------------------------

ดูเพิ่มเติมที่: ปัญหา - 35334: https://bugs.python.org/issue35334

----------------------------------------------

ดูเลย: ปัญหา - 1486: https://github.com/urllib3/urllib3/issues/1486

สำหรับไฟล์: https://github.com/urllib3/urllib3/blob/master/src/urllib3/util/retry.py


2

ตรวจสอบปัญหาเครือข่ายเพื่อข้ามรหัสกรณีข้อยกเว้น

ในกรณีของฉันฉันใช้ดัชนีที่กำหนดเองดัชนีนั้นไม่มีเส้นทางและจะทำให้เกิดรหัสกรณีข้อยกเว้น ข้อผิดพลาดกรณีข้อยกเว้นยังคงมีอยู่และยังคงปกปิดปัญหาที่แท้จริงอย่างไรก็ตามฉันสามารถแก้ไขปัญหานี้ได้โดยการทดสอบการเชื่อมต่อกับเครื่องมืออื่น ๆ เช่นnc -vzw1 myindex.example.org 443และลองอีกครั้งเมื่อเครือข่ายทำงาน


1

ฉันประสบปัญหาที่คล้ายกันในขณะที่พยายามติดตั้งเครื่องมือ awscli บนอินสแตนซ์ ec2 ฉันเปลี่ยนกลุ่มความปลอดภัยเพื่ออนุญาตให้พอร์ต 443 เข้าถึงขาเข้าและขาออกและนั่นช่วยแก้ปัญหาให้ฉันได้


สิ่งนี้ไม่ได้ให้คำตอบสำหรับคำถาม เมื่อคุณมีเพียงพอชื่อเสียงคุณจะสามารถที่จะแสดงความคิดเห็นในโพสต์ใด ๆ ; แทนที่จะให้คำตอบที่ไม่จำเป็นต้องชี้แจงจากผู้ถาม - จากรีวิว
Lukas Körfer

1
ตอนนี้ดูดีขึ้นไหม ฉันแค่คิดว่าฉันควรพูดถึงสิ่งที่ฉันพบว่ามีประโยชน์
Yogesh Gupta

1

ผมได้รับข้อผิดพลาดนี้เมื่อผมพยายามที่จะสร้างด้วยคำสั่งvirtualenv virtualenv myVirtualEnvฉันเพิ่งเพิ่มsudoก่อนคำสั่ง มันแก้ไขทุกอย่าง


ไม่ใช่วิธีแก้ปัญหา: ฉันทำงานในฐานะรูทในนักเทียบท่าและมีปัญหาเดียวกัน นอกจากนี้คุณไม่ได้อธิบายว่าทำไมการรันเมื่อรูทจึงช่วยได้
Eric

1
@ เอริกฉันเพิ่งใช้วิธีการลอง & ข้อผิดพลาด; ฉันไม่รู้จุดประสงค์พื้นฐาน มันได้ผลสำหรับฉันดังนั้นฉันจึงแนะนำ
Zeinab Abbasimazar

1

วิธีแก้ไข:
1. sudo apt remove python-pip
2. pip3 install pip(หรือติดตั้ง pip โดยget-pip.py )

เหตุผล:
ข้อผิดพลาดนี้เกิดขึ้นบน pip 8.0.1 ซึ่งติดตั้งโดย apt-get และเกิดขึ้นเฉพาะเมื่อเครือข่ายของคุณไม่เสถียร

หากคุณติดตั้ง pip ด้วย apt มันจะซ่อน pip ที่คุณติดตั้งด้วยวิธีอื่นดังนั้นคุณควรลบ apt ออกก่อน

ฉันยกเลิกการเชื่อมต่อเครือข่ายและทดสอบ 8.0.1, 9.0.3, 10.x ทั้ง 3 เวอร์ชันที่ติดตั้ง pip3 หรือ get-pip.py ไม่มีข้อผิดพลาดเกิดขึ้น ดังนั้นฉันคิดว่ามีเพียง pip 8.0.1 ที่ฉลาดเท่านั้นที่มีจุดบกพร่องนั้นส่วนอื่น ๆ ก็โอเค


1

ในกรณีของฉันฉันเปิด Pycharm ในโหมด sudo และกำลังเรียกใช้ pip install nltk ใน pycharm terminal ซึ่งแสดงข้อผิดพลาดนี้ ทำงานด้วย sudo pip install ช่วยแก้ข้อผิดพลาด


0

ฉันยังมีปัญหานี้ ในขั้นต้นพร็อกซีถูกตั้งค่าและทำงานได้ดี จากนั้นฉันก็เชื่อมต่อกับเครือข่ายที่มันไม่ผ่านพร็อกซี หลังจากยกเลิกการตั้งค่าพร็อกซี pip อีกครั้งจะได้ผล

unset http_proxy; unset http_prox;  unset HTTP_PROXY; unset HTTPS_PROXY

0

แปลกมากถ้าฉันลบพร็อกซีออกจากสภาพแวดล้อมและเพิ่มลงในบรรทัดคำสั่งมันใช้ได้กับฉัน ตัวอย่างเช่นการอัพเกรดpipตัวเอง:

env http_proxy= https_proxy= pip install pip --upgrade --proxy 'http://proxy-url:80'

ปัญหาของฉันคือการมีพร็อกซีในสภาพแวดล้อม ดูเหมือนว่า pip จะให้เกียรติคนที่โต้แย้งเท่านั้น


0

นี่คือวิธีแก้ปัญหาที่ใช้ได้สำหรับปัญหานี้ที่ฉันพบ

sudo apt-get clean
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update

0

สำหรับตัวฉันเองปรากฎว่า wlan0 หยุดทำงานซึ่งส่งผลให้ฉันไม่สามารถเชื่อมต่อได้ ดังนั้นเพื่อให้แน่ใจว่า wlan0 ขึ้นแล้วอนุญาตให้ pip / pip3 ทำงานได้โดยไม่มีปัญหา


0

ฉันลองวิธีแก้ปัญหาที่ตอบไว้ข้างต้น:

apt-get remove python-pip python3-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3 get-pip.py

เมื่อได้ลองแล้ว

python get-pip.py 
python3 get-pip.py

ฉันได้รับข้อความนี้

 Could not install packages due to an EnvironmentError:
[Errno 13] Permission denied: /usr/bin/pip3 Consider using the --user
 option or check the permissions.

ฉันทำสิ่งต่อไปนี้และได้ผล

python3 -m venv env
source ./env/bin/activate
Sudo apt-get update 
apt-get remove python-pip python3-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3 get-pip.py
pip3 install pip
sudo easy_install pip
pip install --upgrade pip
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.