ನೀವು ಪ್ರಾರಂಭಿಸುವ pip ಪ್ರಕ್ರಿಯೆಗೆ ಪ್ರಾಕ್ಸಿ ನೀಡಿ
ಉದ್ದೇಶಿತ Python ಇಂಟರ್ಪ್ರಿಟರ್ ಮೂಲಕ pip ಅನ್ನು ಕರೆ ಮಾಡಿ ಮತ್ತು pip ನ ಆಂತರಿಕ ಭಾಗಗಳನ್ನು ಆಮದು ಮಾಡುವ ಬದಲು --proxy ಅನ್ನು ಪ್ರತ್ಯೇಕ subprocess ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿ ಒದಗಿಸಿ.
ಇರುವ ಪ್ರೊವಿಷನಿಂಗ್ ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾಕ್ಸಿ ಮೂಲಕ pip ಚಲಾಯಿಸಬೇಕಾದಾಗ, pip ಅನ್ನು subprocess ಆಗಿ ಪ್ರಾರಂಭಿಸಿ. pip ನ ಆಂತರಿಕ Python ಕಾರ್ಯಗಳು ಬೆಂಬಲಿತ ಅಪ್ಲಿಕೇಶನ್ API ಅಲ್ಲ.
import subprocess
import sys
subprocess.run([
sys.executable,
'-m', 'pip', 'install',
'--proxy', 'http://proxy.example:8080',
'example-package',
], check=True)
ಉದ್ದೇಶಿತ ಪ್ಯಾಕೇಜ್ ಮತ್ತು ಪ್ರಾಕ್ಸಿ ಎಂಡ್ಪಾಯಿಂಟ್ ಬಳಸಿ. ಸಾರ್ವಜನಿಕ ಮಧ್ಯವರ್ತಿಯ ಮೂಲಕ ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ ಪ್ಯಾಕೇಜ್ ಡೌನ್ಲೋಡ್ಗಳಿಗೆ HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ HTTP ಪ್ರಾಕ್ಸಿ ಆರ್ಗ್ಯುಮೆಂಟ್ಗೆ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. sys.executable ಸ್ಕ್ರಿಪ್ಟ್ ಚಲಾಯಿಸುತ್ತಿರುವ Python ಇಂಟರ್ಪ್ರಿಟರ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ PATH ನಿಂದ ಇನ್ನೊಂದು ಸ್ಥಾಪನೆಯ pip ಅನ್ನು ಆಕಸ್ಮಿಕವಾಗಿ ಕರೆಯುವುದನ್ನು ತಪ್ಪಿಸುತ್ತದೆ.
ಪ್ರತಿ ಆರ್ಗ್ಯುಮೆಂಟ್ ಪ್ರತ್ಯೇಕ ಪಟ್ಟಿ ಅಂಶವನ್ನು ಆಕ್ರಮಿಸುತ್ತದೆ. ಯಾವುದೇ ಶೆಲ್ ಅಗತ್ಯವಿಲ್ಲ, ಮತ್ತು ಪ್ರಾಕ್ಸಿ URL ಗೆ ಹೆಚ್ಚುವರಿ ಜೋಡಿ ಎಂಬೆಡೆಡ್ ಶೆಲ್ ಉದ್ಧರಣ ಚಿಹ್ನೆಗಳು ಬೇಕಿಲ್ಲ. check=True ಸ್ಥಾಪನೆ ವಿಫಲವಾದರೆ CalledProcessError ಎತ್ತುತ್ತದೆ, ಇದು ಪ್ರೊವಿಷನಿಂಗ್ ವರ್ಕ್ಫ್ಲೋಗೆ ಆ ವೈಫಲ್ಯವನ್ನು ನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಡೌನ್ಲೋಡ್ ಮಾರ್ಗವನ್ನು ಈ pip ಕರೆಯಲ್ಲಿ ಅಥವಾ ಅದರ subprocess ಪರಿಸರದಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ. ಮೂಲ ಪ್ರೋಗ್ರಾಂನ ಬೇರೆಡೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ Requests ಸೆಷನ್ pip ನ ಪ್ರತ್ಯೇಕ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದಿಲ್ಲ.
ಸ್ಥಾಪನೆಯ ನಂತರ ಅಪ್ಲಿಕೇಶನ್ನ ಸಾಮಾನ್ಯ ಪರಿಸರ ಜೀವನಚಕ್ರವನ್ನು ಮುಂದುವರಿಸಿ. ಈಗಾಗಲೇ ಚಾಲನೆಯಲ್ಲಿರುವ ಇಂಟರ್ಪ್ರಿಟರ್ಗೆ ಸ್ಥಾಪಿಸುವುದು ಅದರ ಪ್ರಸ್ತುತ ಆಮದುಗಳು, ಕ್ಯಾಶ್ಗಳು ಅಥವಾ ಮಾರ್ಗಗಳು ಹೊಸ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ತಕ್ಷಣ ಪ್ರತಿಬಿಂಬಿಸುತ್ತವೆ ಎಂದು ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ.