Le calcul distribué python + SCOOP ne peut pas être effectué sur un PC Windows

introduction

Ceci est un mémo lorsque j'ai essayé l'informatique distribuée avec une bibliothèque Python appelée SCOOP sous Windows. SCOOP est une bibliothèque Python pour la distribution de tâches, qui est différente de l'outil de gestion de packages Windows Scoop. C'est compliqué. Étant donné que le parallélisme et la distribution sont des amateurs, je pensais qu'une personne formidable pouvait le faire, mais j'ai fait beaucoup de recherches, mais je n'ai pas pu obtenir le résultat, alors je vais le laisser pour qu'il n'y en ait pas qui fasse le même gaspillage que moi.

Pourquoi tu ne peux pas

En exécution distribuée sur plusieurs PC par SCOOP, dans le processus os.getpgrp() Appelez la fonction. Ceci est uniquement disponible sous Unix et entraînera une erreur. Si vous utilisez [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-on-server'Windows Subsystem for Linux '), vous pouvez utiliser getpgrp () dessus. Cependant, comme il sera exécuté sous Linux, il ne sera pas distribué sous Windows. J'étais sur le point d'être dupe car il était possible de s'exécuter en parallèle au sein de mon PC, mais en d'autres termes --host <host> Si vous spécifiez, une erreur se produira.

Ce que j'ai fait

Je vais laisser la procédure que j'ai essayée pour référence ci-dessous.

Préparation

Préparer une instance

  1. Préparez deux instances EC2 sur AWS

Préparation de la connexion SSH (authentification par clé publique)

  1. Ajout de la fonction serveur OpenSSH --Paramètres → Applications → Gérer les fonctionnalités optionnelles → Ajouter des fonctionnalités → Installer "OpenSSH Server"
  1. Paramètres de communication par clé publique
  1. Créez un fichier de configuration --Créez ".ssh \ config" sur l'instance de source de connexion et définissez le nom et la destination de la connexion comme indiqué ci-dessous.
Host <Nom arbitraire>
  HostName <Adresse IP de la destination de la connexion>
  User <Tout utilisateur>
  Port <Port que vous souhaitez utiliser>
  IdentityFile <Le chemin de la clé privée dont vous disposez>
---Voici cet exemple---
Host test
  HostName **.***.***.***
  User Administrator
  Port 22
  IdentityFile C:/Users/Administrator/.ssh/id_rsa

Installer les outils de construction pour Visual Studio 2019

  1. Ouvrez «Visual Studio 2019 Tools» au bas de l'écran Official Page.
  2. Téléchargez et exécutez Build Tools pour Visual Studio 2019
  3. Vérifiez les outils de construction C ++

Préparer Python

  1. Installez python
  1. Préparez le programme python que vous souhaitez distribuer -Copier map_doc.py depuis le Manuel officiel

map_doc.py


from __future__ import print_function
from scoop import futures

def helloWorld(value):
    return "Hello World from Future #{0}".format(value)

if __name__ == "__main__":
    returnValues = list(futures.map(helloWorld, range(16)))
    print("\n".join(returnValues))

Procès

Si vous pouvez le faire jusqu'à présent, suivez le manuel officiel python -m scoop -n 8 map_doc.py Si tel est le cas, il sera exécuté en parallèle dans votre propre PC et réussira normalement. python -m scoop -n 8 --host test map_doc.py Si vous faites cela, vous obtiendrez l'erreur suivante et cela échouera. L''erreur d'attribut: module'os 'n'a pas d'attribut'getpgrp'` à la fin de cette erreur est la cause de l'échec. Il n'y a rien qui ne soit pas là.

b'Traceback (most recent call last):\r\n  File "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python39\\lib\\runpy.py", line 197, in _run_module_as_main\r\n    return _run_code(code, main_globals, None,\r\n  File "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python39\\lib\\runpy.py", line 87, in _run_code\r\n    exec(code, run_globals)\r\n  File "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\scoop\\broker\\__main__.py", line 65, in <module>\r\n    sys.stdout.write(str(os.getpgrp()) + "\\n")\r\nAttributeError: module \'os\' has no attribute \'getpgrp\'\r\n'

finalement

Alors que j'étais sur le point d'abandonner, j'ai consulté d'autres personnes et j'ai découvert qu'il existe de nombreux modèles tels que «Si vous voulez faire de l'informatique distribuée, essayez de l'utiliser chez Spacon à l'avenir, alors j'écris des programmes sur l'hypothèse de Linux en premier lieu, je ne fais pas grand-chose sous Windows. J'ai reçu un commentaire comme "Yo". Cela semble être le cas. Je voulais le faire sur Windows cette fois parce que je voulais exécuter des programmes écrits en supposant que cela fonctionnerait sur un PC Windows en parallèle, mais cela ne peut pas être aidé car il n'y a pas de système d'exploitation qui n'a pas de fonctions.

Lien de référence

https://scoop.readthedocs.io/en/0.7/index.html https://docs.python.org/ja/3/library/os.html http://fx-kirin.com/python/python-scoop/ https://www.server-world.info/query?os=Windows_Server_2019&p=ssh&f=3

Recommended Posts

Le calcul distribué python + SCOOP ne peut pas être effectué sur un PC Windows
Que faire si PyAudio ne peut pas être installé sur Python 3.7, 3.8, 3.9 sous Windows
Python sur Windows
Dual_boot Windows10 et Linux en utilisant Clover sur un PC uefi qui ne peut pas être démarré à partir de NVMe
Je ne peux pas créer de projet avec Python3.5 (Windows) + django1.7.1.
Créez simplement un environnement d'exécution Python 3 sous Windows
paramètres d'environnement python (virtualenv + pip ne peut pas être effectué)
Enquête lorsque l'importation ne peut pas être effectuée avec python
Créer un environnement de développement Python basé sur GVim sur Windows 10 (3) GVim8.0 et Python3.6
Construire l'extension Python E-Cell 4 sur Windows 7 (64 bits)
Jusqu'à dessiner un graphe 3D avec Python dans Windows10
Créez un environnement de développement Python 3 (Anaconda) confortable avec Windows
Créer un environnement de développement Python basé sur GVim sur l'installation de Windows 10 (1)
python basic ② sous windows
Installez python sur Windows
Procédure de création d'un environnement CDK sous Windows (Python)
Créez un environnement shell et python décent sur Windows
Créer un environnement de développement Python basé sur GVim sur les paramètres de base de Windows 10 (2)
Activer Python virtualenv sous Windows
Installer watchdog sur Windows + Python 3.3
Développement Python + Kivy sous Windows
Sphinx-autobuild (0.5.2) sous Windows7, Python 3.5.1, Sphinx 1.3.5
Installation de Python la plus rapide sous Windows
Créer un environnement Python sur Windows
Construire un environnement Python avec Windows
J'ai exécuté python sur Windows
[Python] [Chainer] [Windows] Installer Chainer sous Windows
Utiliser Python sur Windows (PyCharm)
Concurrence avec VS Code Créez un environnement Python pour les professionnels sous Windows
Créez un environnement Python 2.7 64 bits avec TDM-GCC et MinGW-w64 sous Windows 7
Un enregistrement que GAMEBOY n'a pas pu être fait avec Python. (PYBOY)
Remarques sur l'utilisation de la saisie semi-automatique lors de l'exécution interactive de Python sous Windows
Tout, de la création d'un environnement Python à son exécution sous Windows
Construire un environnement Python sur Mac
Mémo de construction de l'environnement Python sur Windows 10
Python 3.6 sous Windows ... et vers Xamarin.
Installation de Kivy sur Windows10 64 bits Python3.5
Appuyez sur une commande en Python (Windows)
Construction de l'environnement Anaconda Python sous Windows 10
Construire un environnement Python sur Ubuntu
installation de python2.7 dans un environnement Windows 32 bits
Créer un environnement Python sur Mac (2017/4)
Installez Python sur Windows + pip + virtualenv
Installez Pytorch sur Blender 2.90 python sous Windows
Lier Modelica et Python sous Windows
Installation de Kivy-Designer sur Windows10 64 bits Python3.5
Créer un environnement Linux sur Windows 10
Mecab / Cabocha / KNP sur Python + Windows
Créer un environnement python dans centos
Installer l'environnement de développement Python sur Windows 10
Fichier CGI Python créé sous Windows
Premiers pas avec Python 3.8 sous Windows
Créer un environnement python3 sur CentOS7
Reproduire la recherche à une touche avec Python 3.7.3. (Windows 10)
Présentation d'une bibliothèque qui n'était pas incluse dans pip sur Python / Windows
Créez un environnement de développement Python sur Windows (WSL distant Visual Studio Code).
Procédure de création d'un environnement virtuel Python avec VS Code sous Windows
Le module ne peut pas être importé en Python sur EC2 exécuté à partir d'AWS Lambda
Un script python pour Mac qui zippe sans caractères déformés sous Windows