โฟลเดอร์ pip cache อยู่ที่ไหน


93

อยู่ที่ไหนหลาม pipโฟลเดอร์แคช? ฉันมีข้อผิดพลาดระหว่างการติดตั้งและตอนนี้ติดตั้งแพ็คเกจใหม่โดยใช้ไฟล์แคช

ไดเรกทอรีนั้นอยู่ที่ไหน ฉันต้องการสำรองข้อมูลไว้เพื่อติดตั้งในอนาคต เป็นไปได้ไหม ?

ตัวอย่างเช่นฉันมีสิ่งนี้:

Using cached cssselect-0.9.1.tar.gz

ฉันค้นหา Google สำหรับไดเรกทอรีนี้ แต่สิ่งที่ฉันเห็นคือเรียนรู้วิธีการติดตั้งจากโฟลเดอร์ฉันต้องการค้นหาไดเรกทอรีแคชเริ่มต้น

และอีกคำถามไฟล์แคชเหล่านี้จะอยู่ในไดเร็กทอรีนั้นหรือจะลบออกเร็ว ๆ นี้?


1
ขึ้นอยู่กับระบบปฏิบัติการ
Martin Konecny

windows @MartinKonecny
Arash Hatami

3
ฉันเชื่อว่ามันอยู่ใน~\AppData\Local\pip\cacheWindows
fredrik

มีหลายไฟล์ที่มีชื่อไม่ชัดเจนเช่น '0f4017d43a13156e41129019e85a69fcc2dd34e6904ed88395bb5451' ... ฉันจะหาไฟล์ 'cssselect-0.9.1.tar.gz' ได้หรือไม่? @fredrik
Arash Hatami

2
แคชไม่สามารถอ่านได้โดยมนุษย์เสมอไปเช่นในกรณีนี้
fredrik

คำตอบ:


33

ขึ้นอยู่กับระบบปฏิบัติการ

ด้วยpip 20.1ขึ้นไปคุณสามารถค้นหาได้ด้วย:

pip cache dir

ตัวอย่างเช่นกับ macOS:

$ pip cache dir
/Users/hugo/Library/Caches/pip

เอกสาร:


ใช่ ... มันเป็นคำถามเก่า (ประมาณ 4 ปี: D)
Arash Hatami

1
เก่า แต่ยังเกี่ยวข้อง! github.com/hugovk/pypistats/pull/105/commits/…
Hugo

โปรดดูPIP_CACHE_DIRตัวแปรสภาพแวดล้อมเพื่อตั้งค่าไดเร็กทอรีนี้
Alex Povel

123

ตำแหน่งดีฟอลต์สำหรับไดเร็กทอรีแคชขึ้นอยู่กับระบบปฏิบัติการ:

Unix

~ / .cache / pip และเป็นไปตามไดเร็กทอรี XDG_CACHE_HOME

macOS

~ / ไลบรารี / แคช / pip

Windows

<CSIDL_LOCAL_APPDATA> \ pip \ Cache

แคชล้อ

pip จะอ่านจากไดเร็กทอรีย่อยภายในไดเร็กทอรี pip cache และใช้แพ็กเกจใด ๆ ที่พบในนั้น [snip]

https://pip.pypa.io/en/latest/reference/pip_install/#caching

--cache-dirสถานที่ตั้งของไดเรกทอรีแคชสามารถเปลี่ยนแปลงได้ผ่านทางตัวเลือกบรรทัดคำสั่ง


7
<CSIDL_LOCAL_APPDATA> ==% LOCALAPPDATA%
Winand

% LOCALAPPDATA% \ pip \ Cache
Alex78191

1
$XDG_CACHE_HOMEมันว่างเปล่า. find ~/.cache/pip | grep -i tensorการแสดงtensorflow_determinismและsilence_tensorflowล้อ tensorflow-gpuแต่ไม่ได้ แต่พูดว่าpip install tensorflow-gpu Using cached https://.../tensorflow_gpu-2.0.0-cp37-cp37m-manylinux2010_x86_64.whlฉันควรมองหาไฟล์นี้ที่ไหน
bers

(ฉันดาวน์โหลดtensorflow_gpu-2.0.0-cp37-cp37m-manylinux2010_x86_64.whlและตรวจสอบรายการที่ซ้ำกันโดยใช้fdupesแต่ไม่พบ ... )
bers

24

วิธี Pythonic และข้ามแพลตฟอร์ม:

import pip
from distutils.version import LooseVersion

if LooseVersion(pip.__version__) < LooseVersion('10'):
    # older pip version
    from pip.utils.appdirs import user_cache_dir
else:
    # newer pip version
    from pip._internal.utils.appdirs import user_cache_dir

print(user_cache_dir('pip'))
print(user_cache_dir('wheel'))

ภายใต้ประทุนจะทำให้เส้นทางเป็นปกติจัดการตำแหน่งต่างๆสำหรับระบบปฏิบัติการและแพลตฟอร์มที่แปลกใหม่และธรรมดาทำการค้นหารีจิสทรีของ Windows

อาจคุ้มค่าที่จะกล่าวถึงหากคุณติดตั้ง Python เวอร์ชันต่างๆคือ 2.x'es และ 3.x'es พวกเขาทั้งหมดจะแชร์ตำแหน่งแคชเดียวกัน


5
ModuleNotFoundError: No module named 'pip.utils', pip 10.0.1 บน Ubuntu
Gringo Suave

1
หากคุณต้องการpipไดเร็กทอรีแคชของตัวเองคุณสามารถใช้from pip._internal.locations import USER_CACHE_DIRหรือpython -c "from pip._internal.locations import USER_CACHE_DIR; print(USER_CACHE_DIR)"ถ้าคุณกำลังจับสิ่งต่างๆในสคริปต์ ฯลฯ
ryanjdillon

กรุณาอย่าเข้าไป_internalและดึงค่า ภายในของ pip ไม่ได้มีไว้สำหรับใช้เหมือนห้องสมุดและอาจมีการเปลี่ยนแปลงได้ pip cache dirบน pip 20.1 ขึ้นไปเป็นวิธีที่ดีที่สุดในการรับค่านี้
pradyunsg

8

คุณสามารถสำรองล้อที่เกี่ยวข้องแทนที่จะพยายามสำรองข้อมูลของโฟลเดอร์แคช

ดาวน์โหลดวงล้อสำหรับ csselect ของเวอร์ชัน 0.9.1 ลงใน/tmp/wheelhouse:

pip wheel --wheel-dir=/tmp/wheelhouse cssselect==0.9.1

ติดตั้งวงล้อที่ดาวน์โหลด:

pip install /tmp/wheelhouse/cssselect-0.9.1-py2-none-any.whl

cssselect-0.9.1-py2-none-any.whlชื่อไฟล์มีความเสถียร / คาดเดาได้แค่ไหน?
Blaise

ขึ้นอยู่กับสิ่งที่ผู้ดูแลรักษากำลังทำใน setup.py เมื่อบรรจุภัณฑ์
fredrik
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.