Je suis redevenu sans emploi. J'ai décidé d'étudier en cherchant un emploi afin d'améliorer mes compétences techniques pendant la période soignée.
Il y a longtemps, il était passionné par la langue Perl, mais a vécu plusieurs années. Peut-être avait-il l'air d'avoir une liaison, il a pris une attitude qu'il ne pouvait pas comprendre au premier coup d'œil au langage Perl. C'est peut-être un problème pour moi qui n'y ai pas abandonné, mais je vais le diviser tel quel. Le coût des livres est tellement énorme que je ne sais pas combien j'y ai dépensé, mais j'ai décidé d'abandonner parce que je pensais qu'il y avait un problème avec mon hommage unilatéral. Je vais changer d'avis et prendre au sérieux les différents langages de script. Cependant, le favori n'a pas encore été décidé.
J'ai deux idées maintenant.
Je veux faire du traitement de texte, mais mis à part le langage Perl, les deux points ci-dessus semblent difficiles à comparer. La langue Go était plus facile à maîtriser lorsque je la touchais. Après quelques semaines ou quelques mois, vous avez peut-être oublié comment l'utiliser, même s'il s'agit d'un petit traitement. Pourtant, la vie quotidienne du traitement de texte ne change pas (et je ne l'utilise pas tous les jours, donc je l'oublie). Par conséquent, à partir de l'écran GUI, j'ai décidé qu'il n'y aurait pas de problème de traitement de texte même si j'oubliais le contenu du traitement.
Donc, s'il s'agit de programmation GUI, Python sera mieux loti. Le développement de l'interface graphique du langage Go est en cours de développement, et c'est un seuil élevé pour moi qui me suis échappé du langage Perl.
Par conséquent, essayez d'abord d'apprendre le langage Python. Surtout, il semble avoir une grande affinité avec Excel, et il semble avoir un large éventail d'applications.
Même si vous pouvez faire la même chose en langage Go, vous ne pouvez pas travailler dessus car il n'y a aucune information. Je suis vraiment désolé, mais cela ne peut pas être aidé.
Avec ce post, je vais complètement rompre avec le langage Perl. Ne m'en veux pas.
J'ai Python3 installé, et pip3 et pygame sont installés. Je lance le programme ...
rapide
No module named 'pygame'
Pourquoi? Vous avez installé Pygame, non?
Je ne l'aime pas et la construction de l'environnement a échoué, mais il semble que cela échouera simplement en l'installant normalement.
Ensuite, réinstallez-le.
rapide
[Qiita@chesscommands ~] $ pip3 install pygame
Looking in indexes: https://pypi.python.org/simple/
Collecting pygame
Using cached pygame-1.9.6.tar.gz (3.2 MB)
Building wheels for collected packages: pygame
Building wheel for pygame (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/opt/[email protected]/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-install-mv9vk7gl/pygame/setup.py'"'"'; __file__='"'"'/private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-install-mv9vk7gl/pygame/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-wheel-mzz_891j
cwd: /private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-install-mv9vk7gl/pygame/
Complete output (219 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.14-x86_64-3.8
creating build/lib.macosx-10.14-x86_64-3.8/pygame
・
・
・
In file included from src_c/gfxdraw.c:33:
In file included from src_c/pygame.h:32:
src_c/_pygame.h:216:10: fatal error: 'SDL.h' file not found
#include <SDL.h>
^~~~~~~
1 error generated.
---
For help with compilation see:
https://www.pygame.org/wiki/MacCompile
To contribute to pygame development see:
https://www.pygame.org/contribute.html
---
error: command 'clang' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for pygame
Running setup.py clean for pygame
Failed to build pygame
Installing collected packages: pygame
Running setup.py install for pygame ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/opt/[email protected]/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-install-mv9vk7gl/pygame/setup.py'"'"'; __file__='"'"'/private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-install-mv9vk7gl/pygame/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-record-gfvc3z2_/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/pygame
cwd: /private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-install-mv9vk7gl/pygame/
Complete output (219 lines):
running install
running build
running build_py
・
・
・
running build_ext
building 'pygame.gfxdraw' extension
creating build/temp.macosx-10.14-x86_64-3.8
creating build/temp.macosx-10.14-x86_64-3.8/src_c
creating build/temp.macosx-10.14-x86_64-3.8/src_c/SDL_gfx
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/opt/tcl-tk/include -DENABLE_NEWBUF=1 -I/NEED_INC_PATH_FIX -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/[email protected]/3.8.6/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src_c/gfxdraw.c -o build/temp.macosx-10.14-x86_64-3.8/src_c/gfxdraw.o
In file included from src_c/gfxdraw.c:33:
In file included from src_c/pygame.h:32:
src_c/_pygame.h:216:10: fatal error: 'SDL.h' file not found
#include <SDL.h>
^~~~~~~
1 error generated.
---
For help with compilation see:
https://www.pygame.org/wiki/MacCompile
To contribute to pygame development see:
https://www.pygame.org/contribute.html
---
error: command 'clang' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/opt/[email protected]/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-install-mv9vk7gl/pygame/setup.py'"'"'; __file__='"'"'/private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-install-mv9vk7gl/pygame/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-record-gfvc3z2_/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/pygame Check the logs for full command output.
[Qiita@chesscommands ~] $
Pourquoi?
Quant à clang, XCode est déjà installé et la version console est déjà installée. Cependant, cela peut être dû au fait que la version reste ancienne. Lors de la mise à niveau de la version, il est nécessaire de mettre à niveau chaque système d'exploitation. Je veux l'éviter. Il est encore trop tôt pour créer le shell par défaut Zsh.
En disant cela, cherchez d'autres mesures.
Je ne sais pas quoi faire, j'ai donc décidé d'installer le programme décrit dans l'URL affichée dans l'erreur.
rapide
[Qiita@chesscommands ~] $ pip3 install pygame
Looking in indexes: https://pypi.python.org/simple/
Collecting pygame
Using cached pygame-1.9.6.tar.gz (3.2 MB)
Building wheels for collected packages: pygame
Building wheel for pygame (setup.py) ... error
ERROR: Command errored out with exit status 1:
[Qiita@chesscommands ~] $ brew install sdl2 sdl2_gfx sdl2_image sdl2_mixer sdl2_net sdl2_ttf
[Qiita@chesscommands ~] $ brew install Caskroom/cask/xquartz #L'installation a échoué
[Qiita@chesscommands ~] $ brew cask install atom #J'ai réussi quand j'ai réessayé(La commande est complètement différente: xquartz)。
[Qiita@chesscommands ~] $ pip3 install git+https://github.com/pygame/pygame.git #Normalement"pygame"N'est-ce pas assez?
Looking in indexes: https://pypi.python.org/simple/
Collecting git+https://github.com/pygame/pygame.git
Cloning https://github.com/pygame/pygame.git to /private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-req-build-lblaxp95
Building wheels for collected packages: pygame
Building wheel for pygame (setup.py) ... done
Created wheel for pygame: filename=pygame-2.0.0.dev25-cp38-cp38-macosx_10_14_x86_64.whl size=2700971 sha256=a4345c1a9b5cedd13c4d0bb72fc2fe0440faab6b59c8b4a86d54f24497d70b8f
Stored in directory: /private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-ephem-wheel-cache-tiw9vcxx/wheels/32/d1/04/414f72352cfabeed1483d1fd1209ce2f0c0354ce830b31e97a
Successfully built pygame
Installing collected packages: pygame
Successfully installed pygame-2.0.0.dev25
[Qiita@chesscommands ~] $ python -m pygame.tests
Error while finding module specification for 'pygame.tests' (ModuleNotFoundError: No module named 'pygame')
[Qiita@chesscommands ~] $
Pourquoi?
Pour le moment, affichage de la liste.
rapide
[Qiita@chesscommands ~] $ pip3 list
Package Version
---------- -----------
pip 20.2.3
pygame 2.0.0.dev25
setuptools 50.3.0
wheel 0.35.1
[Qiita@chesscommands ~] $ pip list
Package Version
---------- -------
pip 20.2.4
setuptools 49.2.1
wheel 0.35.1
[Qiita@chesscommands ~] $
Je ne pense pas ...
rapide
[Qiita@chesscommands ~] $ pip install git+https://github.com/pygame/pygame.git
Looking in indexes: https://pypi.python.org/simple/
Collecting git+https://github.com/pygame/pygame.git
Cloning https://github.com/pygame/pygame.git to /private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-req-build-s0y_ogtz
Building wheels for collected packages: pygame
Building wheel for pygame (setup.py) ... done
Created wheel for pygame: filename=pygame-2.0.0.dev25-cp38-cp38-macosx_10_14_x86_64.whl size=2700817 sha256=4d6ef61530695b792fe8dc4e50981228b9681195c14b0d262994529fe71b20f2
Stored in directory: /private/var/folders/6j/3sb382wn1hq6d63_xbk_5m6w0000gn/T/pip-ephem-wheel-cache-yjzzgpjo/wheels/32/d1/04/414f72352cfabeed1483d1fd1209ce2f0c0354ce830b31e97a
Successfully built pygame
Installing collected packages: pygame
Successfully installed pygame-2.0.0.dev25
[Qiita@chesscommands ~] $ pip3 list
Package Version
---------- -----------
pip 20.2.3
pygame 2.0.0.dev25
setuptools 50.3.0
wheel 0.35.1
[Qiita@chesscommands ~] $ pip list
Package Version
---------- -----------
pip 20.2.4
pygame 2.0.0.dev25
setuptools 49.2.1
wheel 0.35.1
[Qiita@chesscommands ~] $
Bien ...
rapide
[Qiita@chesscommands ~] $ python -m pygame.tests
pygame 2.0.0.dev25 (SDL 2.0.12, python 3.8.6)
Hello from the pygame community. https://www.pygame.org/contribute.html
skipping pygame.tests.cdrom_test (tag 'interactive')
skipping pygame.tests.overlay_test (tag 'SDL2_ignore')
skipping pygame.tests.scrap_test (tag 'SDL2_ignore')
skipping pygame.tests.sndarray_test (tag 'ignore')
skipping pygame.tests.surfarray_test (tag 'ignore')
loading pygame.tests.base_test
・
・
・
ModuleNotFoundError: No module named 'pygame.pypm'
======================================================================
ERROR: test_midis2events__missing_event_data (pygame.tests.midi_test.MidiModuleNonInteractiveTest)
Ensures midi events with missing values are handled properly.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/chesscommands/.pyenv/versions/3.8.6/lib/python3.8/site-packages/pygame/tests/midi_test.py", line 344, in setUp
import pygame.midi
File "/Users/chesscommands/.pyenv/versions/3.8.6/lib/python3.8/site-packages/pygame/midi.py", line 35, in <module>
import pygame.pypm as _pypm
ModuleNotFoundError: No module named 'pygame.pypm'
----------------------------------------------------------------------
Ran 1608 tests in 81.905s
FAILED (errors=8)
[Qiita@chesscommands ~] $
Vous plaisantez!? Il y a eu une erreur, mais des progrès ont été enregistrés. Les pip et pip3 sont-ils différents?
Je n'ai pas l'intention d'utiliser python2 en premier lieu, mais ...
Confirmation de version avec chemin.
rapide
[Qiita@chesscommands ~] $ pyenv version
3.8.6 (set by /Users/chesscommands/.python-version)
[Qiita@chesscommands ~] $ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
[Qiita@chesscommands ~] $ pyenv global 3.8.6
[Qiita@chesscommands ~] $ pyenv local 3.8.6
[Qiita@chesscommands ~] $ pyenv rehash
[Qiita@chesscommands ~] $ whereis python
/usr/bin/python
[Qiita@chesscommands ~] $/usr/bin/python --version
Python 2.7.16
[Qiita@chesscommands ~] $ python --version
Python 3.8.6
[Qiita@chesscommands ~] $ pyenv version
3.8.6 (set by /Users/chesscommands/.python-version)
[Qiita@chesscommands ~] $
Pourquoi?
Pourquoi le subordonné bin est-il utilisé de préférence alors qu'au moins le subordonné local doit être priorisé?
Vérifier les variables d'environnement
rapide
[Qiita@chesscommands ~] $ echo $PATH
/Users/chesscommands/.python-version:/usr/local/opt/tcl-tk/bin:/Users/chesscommands/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/go/bin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/MacVim.app/Contents/MacOS/
[Qiita@chesscommands ~] $
Ouaip. Je ne pense pas qu'il y ait quelque chose d'étrange à ce sujet ... Les sauts de ligne suivants sont utilisés pour faciliter la visualisation.
/Users/chesscommands/.python-version
/usr/local/opt/tcl-tk/bin
/Users/chesscommands/.pyenv/shims
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Applications/VMware Fusion.app/Contents/Public
/usr/local/go/bin
/usr/local/share/dotnet
~/.dotnet/tools
/Library/Frameworks/Mono.framework/Versions/Current/Commands
/Applications/MacVim.app/Contents/MacOS/
Aucun / usr / local / bin
n'est entré dans .bash_profile.
Et pourtant, cela existe.
Que voulez-vous dire?
Vous trouverez ci-dessous un extrait du contenu de .bash_profile.
rapide
VIM=/Applications/MacVim.app/Contents/MacOS/
PATH=$PATH:${VIM}
PATH="/usr/local/opt/tcl-tk/bin:$PATH"
PATH="/Users/chesscommands/.python-version:$PATH"
export PATH
Dans d'autres fichiers, je n'ai pas falsifié le PATH, et il est désagréable d'ajouter quelque chose dont je ne sais pas où il est défini, même s'il ne s'agit que de ce fichier et uniquement de ce paramètre. à part ça,
rapide
[Qiita@chesscommands ~] $ ll /etc/paths.d/
total 40
-r--r--r-- 1 root wheel 47 10 9 00:33 com.vmware.fusion.public
-rw-r--r-- 1 root wheel 15 9 28 16:20 dotnet-cli-tools
-rw-r--r-- 1 root wheel 24 9 28 16:20 dotnet
-rw-r--r-- 1 root wheel 61 9 27 10:29 mono-commands
-rw-r--r-- 1 root wheel 18 9 10 03:55 go
[Qiita@chesscommands ~] $ ll /etc/manpaths.d/
[Qiita@chesscommands ~] $ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
[Qiita@chesscommands ~] $ cat /etc/manpaths
/usr/share/man
/usr/local/share/man
[Qiita@chesscommands ~] $
Ouaip. Où sont les autres paramètres?
Si vous avez lu jusqu'ici, vous avez peut-être oublié la première explication, mais une erreur s'est produite lors de l'exécution de l'exemple pygame. Cependant, j'ai pu exécuter l'exemple de programme du livre que je lisais pour étude, et aucune erreur ne s'est produite. Par conséquent, j'en suis satisfait.
Comme je l'ai mentionné au début, le développement GUI du langage Go est sans espoir, mais il y en a un. Cela dit, comme dans "Introduction à Easy Go Language", entrez des commandes, créez un environnement de développement de langage Go, puis introduisez un environnement de développement GUI.
rapide
[chesscommands@Qiita ~] $ go get golang.org/x/exp/shiny
package golang.org/x/exp/shiny: no Go files in /Users/chesscommands/go/src/golang.org/x/exp/shiny
[chesscommands@Qiita ~] $
Pourquoi? Certes, dans le livre, c'était comme si quelque chose était écrit à la fin du brillant de Path, mais il n'y avait pas de description précise. Alors j'ai pensé que je pouvais l'omettre ...
rapide
[chesscommands@Qiita ~] $ go get golang.org/x/exp/shiny/...
[chesscommands@Qiita ~] $ echo $?
0
[chesscommands@Qiita ~] $
Vous plaisantez. Je me suis demandé si j'avais réussi en tapant le symbole que je pensais omettre.
Et j'ai fait un exemple de programme selon le livre, mais ça ne marche pas.
rapide
Failed to get state - detached from the process
Process exiting with code: 0
Le programme se termine anormalement. Ouaip.
Cependant, il semble que cela ait été fait, alors jugeons qu'il n'y a pas de problème. Après tout, c'est loin d'être un développement d'interface graphique à grande échelle, et je lis la première page d'un livre pour débutants ... C'est un long chemin à parcourir, mais j'ai le temps parce que je suis au chômage. Acquérons des compétences techniques et faisons de notre mieux dans la recherche d'emploi.
J'aime Python, ce qui facilite la mise en route du développement de l'interface graphique (même si la création de l'environnement a pris beaucoup de temps). C'est facile à motiver car il s'agit de développement d'interface graphique. C'est bien de déconner sur la console, mais il est facile de perdre de vue votre but, alors j'aimerais faire un petit jeu avec le développement de l'interface graphique pour gagner en confiance afin de clarifier la motivation. Jusque-là, si on vous dit que cela ne convient pas aux programmeurs car vous ne programmerez que si vous faites un effort.
Le langage Go est facile à apprendre (j'aime le formatage automatique de l'EDI). Et les deux sont difficiles à apprendre.
Pas question, je ne passerais pas quelques semaines à construire un environnement ... c'est tout.
Postscript. Il est également désagréable que "~ / .dotnet / tools" soit inclus dans le PATH. Je pense que c'est un chemin inutile et des déchets, mais je ne peux pas l'effacer. Terrifiant.
Recommended Posts