/
ИзмСнСниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСрвиса выполнСния скриптов

ИзмСнСниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСрвиса выполнСния скриптов

ПослС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° python-script-service сСрвиса Π² ΠΏΠ°ΠΏΠΊΠ΅ /docker-volume/python-script-service сСрвиса Π±ΡƒΠ΄Π΅Ρ‚ создан Ρ„Π°ΠΉΠ» start-script.sh – это Ρ„Π°ΠΉΠ» скрипта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π’ Π½Ρ‘ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написана Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ python ΠΈ установлСны Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

Настройка ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° python

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ сСрвис, Π΅ΡΡ‚ΡŒ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² (пСрСчислСны Π² порядкС увСличСния ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° ΠΎΡ‚ мСньшСго ΠΊ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ):

  1. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ΄ Linux сСрвис Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ "/usr/bin/python", Π° ΠΏΠΎΠ΄ Windows "C:\Program Files (x86)\Python38-32\python".

  2. Если Π² систСмС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° пСрСмСнная окруТСния с ΠΈΠΌΠ΅Π½Π΅ΠΌ "SCRIPTEXECUTOR_PythonPath", Ρ‚ΠΎ Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ использовано, ΠΊΠ°ΠΊ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

  3. Π’ сСтСвой ΠΏΠ°ΠΏΠΊΠ΅ сСрвиса Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» config.json, Ссли Π² Π½Ρ‘ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства "PythonPath", Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ использовано ΠΎΠ½ΠΎ.

Настройка окруТСния Π² Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π΅

Π’Π°ΠΊ ΠΊΠ°ΠΊ сСрвис позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ собствСнный bash-скрипт ΠΏΡ€ΠΈ запускС docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ ΠΏΠΎΠ΄ администраторскими ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΈ ΠΏΠ°ΠΏΠΊΠ΅ хвостового сСрвСра, доступной Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ (настраиваСтся ΠΏΡ€ΠΈ запускС docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ мноТСство способов Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ сСрвиса, Π±Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°.

НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ offline-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:Β https://help.ubuntu.com/community/AptGet/Offline/Repository/.

А для установки python-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π±Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ wheel:Β https://dizballanze.com/ru/python-wheels-dlia-bystroi-ustanovki-zavisimostei/.

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° установка Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ· исходного ΠΊΠΎΠ΄Π°:Β https://www.tecmint.com/install-python-in-linux/.

Какой способ установки Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ?

Π£ вас Π΅ΡΡ‚ΡŒ нСсколько способов Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ Π²Π°ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π² сСрвисС выполнСния скриптов, Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΡ‚ способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ситуации, нСльзя Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΡƒΡŽ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ, ΠΊΠ°ΠΊΠΎΠΉ способ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ случаС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ свои Π½ΡŽΠ°Π½ΡΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π²Ρ‹Π±ΠΎΡ€. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎΠΉ способ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π½ΠΈΠΆΠ΅ Π΄Π°Π½Ρ‹ наши Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ.

НСобходимо ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ python-ΠΏΠ°ΠΊΠ΅Ρ‚

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго самым простым способом ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ python-ΠΏΠ°ΠΊΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ способ установки с использованиСм wheel – Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° этот ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ с использованиСм pip. ΠŸΠΎΠΈΡ‰ΠΈΡ‚Π΅ этот ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° сайтС:Β https://pypi.org/Β ΠΈΠ»ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± установкС Ρ‡Π΅Ρ€Π΅Π· pip Π½Π° страницС этого ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π° дальшС посмотритС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ установки pytorch Ρ‡Π΅Ρ€Π΅Π· wheel ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΊ установкС Ρ‚ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. Π’Π°ΠΆΠ½Ρ‹ΠΌ нюансом установки Ρ‡Π΅Ρ€Π΅Π· wheel являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ставитС ΠΈ явно ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ этот список Π² Ρ„Π°ΠΉΠ» requirements.txt. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ этот список, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²Π°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· pip Π½Π° свСТСустановлСнной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, какая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сСйчас Π² сСрвисС выполнСния скриптов (Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ это Ubuntu Bionic) ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ этом ставятся.

Если Ρ‡Π΅Ρ€Π΅Π· pip ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ нСльзя ΠΈ ΠΎΠ½ присутствуСт Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ubuntu, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ„Ρ„Π»Π°ΠΉΠ½-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для Π΅Π³ΠΎ установки.

Если Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ отсутствуСт, Ρ‚ΠΎ остаётся способ установки с использованиСм исходного ΠΊΠΎΠ΄Π° – ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π° страничку Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ ΠΈΡ‰ΠΈΡ‚Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΠΎ установкС ΠΈΠ· исходников, Ссли инструкции Ρ‚Π°ΠΌ Π½Π΅Ρ‚, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ эту ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ с использованиСм ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ поисковика, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ google.com.

НСобходимо ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ python-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ установку ΠΈΠ· исходников, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ установки ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° python приводится Π½ΠΈΠΆΠ΅.

Установка ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° python ΠΈΠ· исходников

Находим ссылку Π½Π° исходники Π½ΡƒΠΆΠ½ΠΎΠΉ Π½Π°ΠΌ вСрсии python:Β https://www.python.org/downloads/release/.

Π― Π±ΡƒΠ΄Ρƒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ 3.7.5:Β https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz.

На машинС ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ доступ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ скачиваСм ΠΈΡ…:

wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tar.xz

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ доступа ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ, ΠΈ ΠΊΠ»Π°Π΄Ρ‘ΠΌ ΠΈΡ… Π² ΠΏΠ°ΠΏΠΊΡƒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ для сСрвиса выполнСния скриптов. ВыполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

tar xJf Python-3.7.5.tar.xz

ПишСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст Π² Ρ„Π°ΠΉΠ» start-script.sh:

/mnt/volume/Python-3.7.5/configure
make -CΒ /mnt/volume/Python-3.7.5
make -CΒ /mnt/volume/Python-3.7.5 install

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ стартС docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ установлСн ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ python 3.7.5.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сСрвис использовал Π΅Π³ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² config.json сСрвиса выполнСния скриптов Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ установлСнного ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°: "/usr/local/bin/python3".

Π‘ΠΊΡ€ΠΈΠΏΡ‚ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ вСрсии python:

import sys
print(sys.version)

Установка ΠΏΠ°ΠΊΠ΅Ρ‚Π° pytorch для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° python 2.7 с использованиСм wheel

  1. Π Π°Π±ΠΎΡ‚Ρ‹ происходят Π½Π° машинС, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ доступ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ΡƒΒ 

1.1 УстанавливаСм python, pip ΠΈ wheel:

# apt-get update && apt-get install -y python-pip
# pip install wheel

1.2 Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΏΠ°ΠΏΠΊΡƒ wheels2:

# mkdir wheels2

1.3 Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Ρ„Π°ΠΉΠ»Β requirements.txt:

# touchΒ requirements.txt

1.4 На сайтС pytorch смотрим ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· pip:Β https://pytorch.org/get-started/locally/#start-locally.

Для python 2 Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:Β 

# pip install torch==1.3.1+cpu torchvision==0.4.2+cpu -fΒ https://download.pytorch.org/whl/torch_stable.html

Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Ρ‘ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ, просто Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° названия ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹.

1.5 Π’ Ρ„Π°ΠΉΠ»Β requirements.txt записываСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст (названия ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π°):

torch==1.3.1+cpu
torchvision==0.4.2+cpu

1.6 ВыполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

# pip install -r requirements.txt -f https://download.pytorch.org/whl/torch_stable.html --user

(синтаксис: #Β pip install -r requirements.txtΒ {ваши Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠ· pip install}Β --userΒ )

# pip wheel -w wheels2/ -r requirements.txt --pre -f https://download.pytorch.org/whl/torch_stable.html

(синтаксис: #Β pip wheel -w wheels2/ -r requirements.txt --preΒ {ваши Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠ· pip install} )

1.7. ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ»Β requirements.txt Π² ΠΏΠ°ΠΏΠΊΡƒΒ wheels2.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ находятся Π² ΠΏΠ°ΠΏΠΊΠ΅Β wheels2, скачиваСм эту  ΠΏΠ°ΠΏΠΊΡƒ Π½Π° Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ ΠΈ пСрСносим Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ отсутствуСт доступ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.


2. Π Π°Π±ΠΎΡ‚Ρ‹ происходят Π½Π° машинС, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ доступ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ (Π² Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π΅)

2.1 ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΡƒΒ wheels2Β Π² ΠΏΠ°ΠΏΠΊΡƒ, которая доступна с хостовой ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π² сСрвис выполнСния скриптов, Π² ΠΌΠΎΡ‘ΠΌ случаС это ΠΏΠ°ΠΏΠΊΠ°:

/docker-volume/python-script-service

Π­Ρ‚ΠΎ настраиваСтся ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

2.2 ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΈ ΠΏΡ€Π°Π²ΠΈΠΌ Ρ„Π°ΠΉΠ»Β start-script.sh (Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ запуска docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π² ΠΏΠ°ΠΏΠΊΠ΅Β /docker-volume/python-script-serviceΒ ).

Π’ ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строчку:

pip install --no-index -f /mnt/volume/wheels2/ -r /mnt/volume/wheels2/requirements.txt

2.3 ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвис выполнСния скриптов.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ запускС docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ установлСн pytorch.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ установку ΠΌΠΎΠΆΠ½ΠΎ запустив Π² сСрвисС скрипт:

import torch
result = torch.cuda.is_available()

Установка ΠΏΠ°ΠΊΠ΅Ρ‚Π° pytorch для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° python 3.6 с использованиСм wheel

На машинС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ доступ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ устанавливаСм python 3, pip ΠΈ wheel.

apt-get update && apt-get install -y python3-pip
pip3 install wheel

На сайтС pytorch смотрим, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· pip:Β https://pytorch.org/get-started/locally/#start-locally.

Для python 3 Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:Β 

pip3 install torch==1.3.1+cpu torchvision==0.4.2+cpu -fΒ https://download.pytorch.org/whl/torch_stable.html

Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Ρ‘ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ, просто Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° названия ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹.

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΏΠ°ΠΏΠΊΡƒ wheels3:

mkdir wheels3

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Ρ„Π°ΠΉΠ»Β requirements.txt:

touchΒ requirements.txt
Π’ Ρ„Π°ΠΉΠ» requirements.txt записываСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст (названия ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ):
torch==1.3.1+cpu
torchvision==0.4.2+cpu

ВыполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

pip3 install -r requirements.txt -f https://download.pytorch.org/whl/torch_stable.html --user
pip3 wheel -w wheels3/ -r requirements.txt --pre -f https://download.pytorch.org/whl/torch_stable.html

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ находятся Π² ΠΏΠ°ΠΏΠΊΠ΅ wheels3, скачиваСм ΠΈΡ… Π½Π° Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ ΠΈ пСрСносим Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ отсутствуСт доступ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΡ… Π² ΠΏΠ°ΠΏΠΊΡƒ, которая доступна с хостовой ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π² сСрвис выполнСния скриптов, Π² ΠΌΠΎΡ‘ΠΌ случаС это ΠΏΠ°ΠΏΠΊΠ°:

/home/{username}/python-script-service

А Π²Π½ΡƒΡ‚Ρ€ΠΈ docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ°ΠΏΠΊΠ°:

/mnt/volume

Π­Ρ‚ΠΎ настраиваСтся ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

На хостовом сСрвСрС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΈ ΠΏΡ€Π°Π²ΠΈΠΌ Ρ„Π°ΠΉΠ»Β start-script.sh (Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ запуска docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°).

pip3 install --no-index -f /mnt/volume/wheels3/ -r /mnt/volume/requirements.txt

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ запускС docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ установлСн pytorch.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ установку ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π², запустив Π² сСрвисС скрипт:

import torch
result = torch.cuda.is_available()

Related content