<p>pipenv Π½Π΅ ΡƒΠ²Π°ΠΆΠ°Π΅Ρ‚ pip.conf</p>

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 8 ΠΎΠΊΡ‚. 2017  Β·  15ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: pypa/pipenv

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ devpi Π² качСствС частного рСпозитория pypi, Π³Π΄Π΅ я ΠΌΠΎΠ³Ρƒ прокси-ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ pypi ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ свои собствСнныС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

Мой pip.conf выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

[global]
index_url = https://pypi.priv.xxx/prod/+simple/
[search]
index = https://pypi.priv.xxx/prod/

НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ упоминаСтся эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π­Ρ‚ΠΈ записи ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, бСзусловно, Π½Π΅ Π²ΠΎΠΉΠ΄ΡƒΡ‚ Π² Pipfile, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠΉΡ‚ΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ВсС 15 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π­Ρ‚ΠΈ записи Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² вашСм Pipfile.

@kennethreitz Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ я Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ясно
Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π² pipenv, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ΄. Π― знаю, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ источник Π² Pipfile , я Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ индСксы, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² ~/.pypirc .

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° / срСды pipenv

$ mkdir foobar
$ cd foobar
$ pipenv install --verbose requests
β ‹New python executable in /home/xxx/.local/share/virtualenvs/foobar-JdBU33Mf/bin/python         
Installing setuptools, pip, wheel...done.                                                      

Virtualenv location: /home/xxx/.local/share/virtualenvs/foobar-JdBU33Mf                         
Installing requests… 
β ™Installing u'requests'
$ "/home/xxx/.local/share/virtualenvs/foobar-JdBU33Mf/bin/pip" install   --verbose   "requests"
-i https://pypi.python.org/simple --exists-action w
Collecting requests
  1 location(s) to search for versions of requests:
  * https://pypi.python.org/simple/requests/
  Getting page https://pypi.python.org/simple/requests/
[...]
Successfully installed certifi-2017.7.27.1 chardet-3.0.4 idna-2.6 requests-2.18.4 urllib3-1.22
Cleaning up...

Adding requests to Pipfile's [packages]…
  PS: You have excellent taste! ✨ 🍰 ✨
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (76e6d4)!

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈΠ· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса

ΠŸΡ€ΠΈ установкС ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ pypi Π½Π΅ Π·Π½Π°Π΅Ρ‚, ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ сразу (ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с pip ΠΈΠ»ΠΈ pip-tools, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ настройки pip.conf ).

$ pipenv install --verbose palantir
Installing palantir…
β ‹Installing u'palantir'
$ "/home/hr/.local/share/virtualenvs/foobar-JdBU33Mf/bin/pip" install   --verbose   "palantir" -i https://pypi.python.org/simple --exists-action w
Collecting palantir
  1 location(s) to search for versions of palantir:
[...]
Error:  An error occurred while installing palantir!
  Could not find a version that satisfies the requirement palantir (from versions: )
No matching distribution found for palantir

Если Pipfile ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ индСкс ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ связан с этим индСксом (слСдуя https://docs.pipenv.org/advanced.html#specifying-package-indexes), ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° установки ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ· командная строка всС Ρ€Π°Π²Π½ΠΎ сначала Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ pypi :

$ pipenv install --verbose palantir
Installing palantir… 
β ‹Installing u'palantir'                                                                        
$ "/home/hr/.local/share/virtualenvs/foobar-JdBU33Mf/bin/pip" install   --verbose   "palantir"
-i https://pypi.python.org/simple --exists-action w                                            
β ‹$ "/home/hr/.local/share/virtualenvs/foobar-JdBU33Mf/bin/pip" install   --verbose   "palantir"
 -i https://pypi.priv.xxx/prod/+simple/ --exists-action w                
Collecting palantir                         
  1 location(s) to search for versions of palantir:
[...]
Successfully installed palantir-1.1.5
Cleaning up...

Adding palantir to Pipfile's [packages]…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, созданный pip-tools

ΠŸΡ€ΠΈ использовании pip-tools Ρ„Π°ΠΉΠ» Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с индСкса, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для установки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²:

#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --output-file requirements.txt requirements.in
#
--index-url https://pypi.priv.xxx/prod/+simple/

bcrypt==3.0.0
[...]

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ использовании Ρ„Π°ΠΉΠ»Π° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ (начиная с чистого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°):

$ pipenv install -r requirements.txt
Requirements file provided! Importing into Pipfile…
Pipfile.lock (c23e27) out of date, updating to (3c7b08)…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
CRITICAL:pip.index:Could not find a version that satisfies the requirement palantir==1.1.5 (from versions: )
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.

НаблюдСния

Π― Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΡŽ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Β«ΠΏΡ€ΠΎΠ±Π΅Π»Β» Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с индСксами ΠΈ UX:

  • ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ индСкс (ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ рСсурсу) ΠΏΡ€ΠΈ установкС Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, Ρ‡Ρ‚ΠΎ заставляСт Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ запись для индСкса Π² Pipfile ΠΈ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ с индСксом. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π² случаС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ· pypi ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· частного индСкса.
  • ΠΊΠ°ΠΊΠΎΠΉ индСкс ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ установкС ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки?
  • ΠΏΡ€ΠΈ установкС ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ· настраиваСмого индСкса Π΅Π³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.
  • ΠΊΠΎΠ³Π΄Π° Π² Ρ„Π°ΠΉΠ»Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Π½ индСкс, ΠΎΠ½ игнорируСтся.

Π― Π½Ρ‹Ρ€ΡΡŽ Π² ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ PR, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, описанныС Π²Ρ‹ΡˆΠ΅:

  • ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ pip.conf Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ настраиваСмых индСксов
  • ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ индСкс ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Pipfile ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ
  • ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ индСкс ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ рСсурсу Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС
  • ΡΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ индСкс, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π² Pipfile

Если индСкс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈΠ±ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, Π»ΠΈΠ±ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Π½ΠΎ нСизвСстСн для Pipfile Ρ‚ΠΎΠ³Π΄Π° слСдуСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись с автоматичСским ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ имСнованию venv, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌΡƒ Π² pipenv.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ мСня Ρ‚Π°ΠΊ Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚? Живя Π² ΠšΠΈΡ‚Π°Π΅, pypi Π½Π΅ всСгда доступСн ΠΈΠ»ΠΈ быстр (многочислСнныС Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ ΠΈΠ»ΠΈ мСртвая ΠΌΠ΅Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ), поэтому Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ индСкса, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ devpi, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠ΅ΡˆΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ позволяСт ΠΌΠ½Π΅ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΈ частныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, - это двойная ΠΏΠΎΠ±Π΅Π΄Π°. Π­Ρ‚ΠΎ ускоряСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, тСстированиС, сборку Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠ² ΠΈ Ρ‚. Π”.

НапримСр, это довольно классичСскоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ происходит, ΠΊΠΎΠ³Π΄Π° задСйствованы Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Ρ‹:

Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches requests==2.17.3,==2.18.4
Tried: 0.2.0, 0.2.0, 0.2.1, 0.2.1, 0.2.2, 0.2.2, 0.2.3, 0.2.3, 0.2.4, 0.2.4, 0.3.0, 0.3.0, 0.3.1, 0.3.1, 0.3.2, 0.3.2, 0.3.3, 0.3.3, 0.3.4, 0.3.4, 0.4.0, 0.4.0, 0.4.1, 0.4.1, 0.5.0, 0.5.0, 0.5.1, 0.5.1, 0.6.0, 0.6.0, 0.6.1, 0.6.1, 0.6.2, 0.6.2, 0.6.3, 0.6.3, 0.6.4, 0.6.4, 0.6.5, 0.6.5, 0.6.6, 0.6.6, 0.7.0, 0.7.0, 0.7.1, 0.7.1, 0.7.2, 0.7.2, 0.7.3, 0.7.3, 0.7.4, 0.7.4, 0.7.5, 0.7.5, 0.7.6, 0.7.6, 0.8.0, 0.8.0, 0.8.1, 0.8.1, 0.8.2, 0.8.2, 0.8.3, 0.8.3, 0.8.4, 0.8.4, 0.8.5, 0.8.5, 0.8.6, 0.8.6, 0.8.7, 0.8.7, 0.8.8, 0.8.8, 0.8.9, 0.8.9, 0.9.0, 0.9.0, 0.9.1, 0.9.1, 0.9.2, 0.9.2, 0.9.3, 0.9.3, 0.10.0, 0.10.0, 0.10.1, 0.10.1, 0.10.2, 0.10.2, 0.10.3, 0.10.3, 0.10.4, 0.10.4, 0.10.6, 0.10.6, 0.10.7, 0.10.7, 0.10.8, 0.10.8, 0.11.1, 0.11.1, 0.11.2, 0.11.2, 0.12.0, 0.12.0, 0.12.1, 0.12.1, 0.13.0, 0.13.0, 0.13.1, 0.13.1, 0.13.2, 0.13.2, 0.13.3, 0.13.3, 0.13.4, 0.13.4, 0.13.5, 0.13.5, 0.13.6, 0.13.6, 0.13.7, 0.13.7, 0.13.8, 0.13.8, 0.13.9, 0.13.9, 0.14.0, 0.14.0, 0.14.1, 0.14.1, 0.14.2, 0.14.2, 1.0.0, 1.0.0, 1.0.1, 1.0.1, 1.0.2, 1.0.2, 1.0.3, 1.0.3, 1.0.4, 1.0.4, 1.1.0, 1.1.0, 1.2.0, 1.2.0, 1.2.1, 1.2.1, 1.2.2, 1.2.2, 1.2.3, 1.2.3, 2.0.0, 2.0.0, 2.0.0, 2.0.0, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.1.0, 2.1.0, 2.1.0, 2.1.0, 2.2.0, 2.2.0, 2.2.0, 2.2.0, 2.2.1, 2.2.1, 2.2.1, 2.2.1, 2.3.0, 2.3.0, 2.3.0, 2.3.0, 2.4.0, 2.4.0, 2.4.0, 2.4.0, 2.4.1, 2.4.1, 2.4.1, 2.4.1, 2.4.2, 2.4.2, 2.4.2, 2.4.2, 2.4.3, 2.4.3, 2.4.3, 2.4.3, 2.5.0, 2.5.0, 2.5.0, 2.5.0, 2.5.1, 2.5.1, 2.5.1, 2.5.1, 2.5.2, 2.5.2, 2.5.2, 2.5.2, 2.5.3, 2.5.3, 2.5.3, 2.5.3, 2.6.0, 2.6.0, 2.6.0, 2.6.0, 2.6.1, 2.6.1, 2.6.1, 2.6.1, 2.6.2, 2.6.2, 2.6.2, 2.6.2, 2.7.0, 2.7.0, 2.7.0, 2.7.0, 2.8.0, 2.8.0, 2.8.0, 2.8.0, 2.8.1, 2.8.1, 2.8.1, 2.8.1, 2.9.0, 2.9.0, 2.9.0, 2.9.0, 2.9.1, 2.9.1, 2.9.1, 2.9.1, 2.9.2, 2.9.2, 2.9.2, 2.9.2, 2.10.0, 2.10.0, 2.10.0, 2.10.0, 2.11.0, 2.11.0, 2.11.0, 2.11.0, 2.11.1, 2.11.1, 2.11.1, 2.11.1, 2.12.0, 2.12.0, 2.12.0, 2.12.0, 2.12.1, 2.12.1, 2.12.1, 2.12.1, 2.12.2, 2.12.2, 2.12.2, 2.12.2, 2.12.3, 2.12.3, 2.12.3, 2.12.3, 2.12.4, 2.12.4, 2.12.4, 2.12.4, 2.12.5, 2.12.5, 2.12.5, 2.12.5, 2.13.0, 2.13.0, 2.13.0, 2.13.0, 2.14.0, 2.14.0, 2.14.0, 2.14.0, 2.14.1, 2.14.1, 2.14.1, 2.14.1, 2.14.2, 2.14.2, 2.14.2, 2.14.2, 2.15.1, 2.15.1, 2.15.1, 2.15.1, 2.16.0, 2.16.0, 2.16.0, 2.16.0, 2.16.1, 2.16.1, 2.16.1, 2.16.1, 2.16.2, 2.16.2, 2.16.2, 2.16.2, 2.16.3, 2.16.3, 2.16.3, 2.16.3, 2.16.4, 2.16.4, 2.16.4, 2.16.4, 2.16.5, 2.16.5, 2.16.5, 2.16.5, 2.17.0, 2.17.0, 2.17.0, 2.17.0, 2.17.1, 2.17.1, 2.17.1, 2.17.1, 2.17.2, 2.17.2, 2.17.2, 2.17.2, 2.17.3, 2.17.3, 2.17.3, 2.17.3, 2.18.0, 2.18.0, 2.18.0, 2.18.0, 2.18.1, 2.18.1, 2.18.1, 2.18.1, 2.18.2, 2.18.2, 2.18.2, 2.18.2, 2.18.3, 2.18.3, 2.18.3, 2.18.3, 2.18.4, 2.18.4, 2.18.4, 2.18.4

@kennethreitz
НСа. НапримСр, я ΠΆΠΈΠ²Ρƒ Π² ΠšΠΈΡ‚Π°Π΅. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π° pypi.python.org ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½ΠΈΠΆΠ΅ 50ΠΊ / с, ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ глобальноС китайскоС Π·Π΅Ρ€ΠΊΠ°Π»ΠΎ. Или я Π±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π» ΠΌΠ½ΠΎΠ³ΠΎ

  File "d:\python27\lib\site-packages\pipenv\patched\pip\_vendor\requests\packages\urllib3\response.
py", line 324, in read
    flush_decoder = True
  File "d:\python27\lib\contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "d:\python27\lib\site-packages\pipenv\patched\pip\_vendor\requests\packages\urllib3\response.
py", line 246, in _error_catcher
    raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pip._vendor.requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='pypi.py
thon.org', port=443): Read timed out.

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ pipenv, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ pip.conf [Pipfile]? Для мСня это Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ.

Π­Ρ‚ΠΈ записи ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, бСзусловно, Π½Π΅ Π²ΠΎΠΉΠ΄ΡƒΡ‚ Π² Pipfile, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠΉΡ‚ΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

@eromoe @hrbonz Π’Π°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ pipenv сначала Ρ€Π΅ΡˆΠ°Π΅Ρ‚ pypi, Π° Π½Π΅ частныС сСрвСры?

Для мСня это. МнС ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠΆΠ½Ρ‹ настройки глобального Π·Π΅Ρ€ΠΊΠ°Π»Π°.

pip.conf ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

  1. Π‘Π½Π°Ρ‡Π°Π»Π° читаСтся Ρ„Π°ΠΉΠ» всСго сайта, Π·Π°Ρ‚Π΅ΠΌ
  2. ЧитаСтся Ρ„Π°ΠΉΠ» для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†,
  3. ЧитаСтся Ρ„Π°ΠΉΠ», спСцифичный для virtualenv.

Π£Π²Π°ΠΆΠ°ΠΉΡ‚Π΅ pip.conf ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ pip ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° pipenv.

МнС нравится идСя ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ эти ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² Pipfile (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ), Π½ΠΎ pipenv ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ²Π°ΠΆΠ°Ρ‚ΡŒ pip.conf (ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ для всСго, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Pipfile).

@erinxocon, это ΠΎΠ΄Π½Π° ΠΈΠ· выявлСнных ΠΌΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π― Π±Ρ‹Π» ΠΎΡ‡Π΅Π½ΡŒ занят Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ, Π½ΠΎ надСюсь ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΈΠ°Ρ€ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅Π΄Π΅Π»ΠΈ.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, @kennethreitz, спасибо Π·Π°

Π£ мСня вопрос, пСрСсмотритС Π»ΠΈ Π²Ρ‹ свою ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠΎ этому вопросу послС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² этой дискуссии?

Π£ мСня Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования с pip.conf, ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ pip.conf допустимо для прСдсказуСмой сборки Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ CI / CD ΠΈ локальной машинС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

@hrbonz Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ я нашСл Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ $PIP_INDEX_URL env ΠΈΠ· pip Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Ρ„Π°ΠΉΠ» pip.conf Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ pipenv. Π­Ρ‚ΠΈ $PIP_VARIABLE ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° .env .

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ объСдинСниС pypa / pip # 3728 ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… индСксов Π±Ρ‹Π»ΠΎ Π±Ρ‹ _the_ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для частных индСксов Π±Π΅Π· раскрытия ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π² β„–1406.

Π’ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ, Ссли всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, - это имя индСкса ΠΈ URL-адрСс (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ devpi ). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Pip-Ρ„Π°ΠΉΠ» с вашим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ индСкса ΠΈ URL-адрСсом, Π½ΠΎ Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ Π±Π΅Π·ΡƒΠΏΡ€Π΅Ρ‡Π½Ρ‹ΠΉ.

pipenv_init() {
  # pipenv issue #856: pipenv doesn't respect pip.conf
  # https://github.com/pypa/pipenv/issues/856

  # This function accepts one optional argument: the path to the pipenv
  # executable. If not set or empty, defaults to PATH lookup.
  local PIPENV="${1:-pipenv}"
  if ! command -v -- "${PIPENV}" > /dev/null; then
    >&2 printf '%s\n' 'pipenv not found'
    return 1
  fi

  # Check for required environment variables.
  if [[ -z "${PIPENV_INDEX_NAME-}" ]] || [[ -z "${PIPENV_INDEX_URL-}" ]]; then
    >&2 printf '%s\n' 'PIPENV_INDEX_{NAME,URL} env vars must be set and not empty'
    return 1
  fi

  # Create fresh Pipfile and virtualenv.
  #
  # While doing so, move requirements.txt out of the way so pipenv
  # doesn't attempt to populate the virtualenv before we have a chance
  # to modify Pipfile.
  # https://github.com/pypa/pipenv/blob/v9.0.3/pipenv/cli.py#L308-L330
  # https://github.com/pypa/pipenv/blob/v9.0.3/pipenv/project.py#L117-L119
  # https://github.com/pypa/pipenv/blob/v9.0.3/pipenv/project.py#L231-L240
  # https://github.com/pypa/pipenv/blob/v9.0.3/pipenv/utils.py#L1112-L1124
  local TEMP_REQUIREMENTS_TXT
  "${PIPENV}" --rm || true
  rm -f -- Pipfile Pipfile.lock
  if [[ -f requirements.txt ]]; then
    TEMP_REQUIREMENTS_TXT="$(mktemp)"
    mv -- requirements.txt "${TEMP_REQUIREMENTS_TXT}"
  fi
  "${PIPENV}" install
  if [[ -n "${TEMP_REQUIREMENTS_TXT}" ]]; then
    mv -- "${TEMP_REQUIREMENTS_TXT}" requirements.txt
  fi
  rm -- Pipfile.lock

  # Within Pipfile's `[[source]]` section, set `name` to
  # `${PIPENV_INDEX_NAME}` and `url` to `${PIPENV_INDEX_URL}`.
  local TEMP_PIPFILE="$(mktemp)"
  < Pipfile \
      sed \
      -e '/^\[\[source\]\]$/,/^\[/ { s|^\(name = \).*|\1"'"${PIPENV_INDEX_NAME}"'"| ; s|^\(url = \).*|\1"'"${PIPENV_INDEX_URL}"'"| ; }' \
    > "${TEMP_PIPFILE}"
  mv -- "${TEMP_PIPFILE}" Pipfile
}

Π΄ΠΆΠ΅Π½Ρ‚Π»ΡŒΠΌΠ΅Π½, ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ. Π£ мСня Π΅ΡΡ‚ΡŒ простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π£ мСня Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ pipenv. ΠŸΠΈΡˆΡƒ этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊ Π΄ΠΎΠΌΠ°, Ρ‚Π°ΠΊ ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅.
Π”ΠΎΠΌΠ° Ρƒ мСня Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. На Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΌΠ½Π΅ приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ индСкс pipy.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Pipfile зафиксирован ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π² git, я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρ…ΠΎΠΆΡƒ ΠΈΠ· Π΄ΠΎΠΌΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ внСшнюю ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ, которая сигнализируСт pipenv, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ индСкс.

Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ этой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² Pipfile Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π•ΡΡ‚ΡŒ обновлСния ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ?

@hrbonz @ninrod @GhostofGoes исправлСно Π² # 1769 ΠΈ # 1809 - ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды Π² Pipfiles Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя выполнСния

Бпасибо всСм Π·Π° вашС Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅, нашим Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ Π±Ρ‹Π»Π° основная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹, поэтому Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ этой, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΡ€ΠΎΡΠΊΠ°Π»ΡŒΠ·Ρ‹Π²Π°ΡŽΡ‚. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΡ‹ всСгда Ρ€Π°Π΄Ρ‹ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Π²ΠΊΠ»Π°Π΄Ρ‹ ΠΏΠΎ вопросам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π² настоящСС врСмя Π½Π΅ ΠΏΡ€ΠΈΠ΄Π°Π΅ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌ!

ЕдинствСнная Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° это Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ исправлСно, - это ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ URL-адрСс PyPi, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вСсь Ρ‚Ρ€Π°Ρ„ΠΈΠΊ пСрСнаправлялся Π½Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ Π·Π΅Ρ€ΠΊΠ°Π»ΠΎ PyPi (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Artifactory ΠΈΠ»ΠΈ Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π³ΠΎ). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ PyPi Π² любом случаС ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ограничСния.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ