Python에서 Stockfish를 실행할 수 없습니다.
나는 이것이 프로그래밍 포럼이 아니라는 것을 알고 있지만, 체스와 관련이 있기 때문에 여기에 배치됩니다. 기본적으로 PC에서 Python으로 stockfish를 설정하려고합니다. 을 통해 설치했습니다 pip install stockfish.
그래서 계속해서 Stockfish를 설정하려고했습니다.
from stockfish import Stockfish
stockfish = Stockfish(r'C:\Users\Acer\Desktop\chess\stockfish-11-win')
WinError 5가 발생하고 액세스가 거부되었습니다.
Exception ignored in: <function Stockfish.__del__ at 0x0429AA48>
Traceback (most recent call last):
File "C:\Users\Acer\AppData\Local\Programs\Python\Python38-32\lib\site-packages\stockfish\models.py", line 270, in __del__
self.stockfish.kill()
AttributeError: 'Stockfish' object has no attribute 'stockfish'
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
emily = Stockfish(r'C:\Users\Acer\Desktop\chess\stockfish-11-win\src')
File "C:\Users\Acer\AppData\Local\Programs\Python\Python38-32\lib\site-packages\stockfish\models.py", line 33, in __init__
self.stockfish = subprocess.Popen(
File "C:\Users\Acer\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\Acer\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
PermissionError: [WinError 5] Zugriff verweigert
다른 Stockfish 다운로드를 시도하고 Idle 또는 CMD를 관리자로 실행하고 다른 PC를 다시 설치하고 사용했지만 어떻게 든 Stockfish로 작업 할 수 없습니다. 액세스를 우회 할 수 있도록 도와 줄 수있는 사람이 거부 되었습니까? 초기화 할 때 무엇을 놓치나요?
답변
인수는 Stockfish 실행 파일을 가리켜 야합니다. Stockfish 웹 사이트에서 v11 zip 을 다운로드 한 경우 압축을 풀고 실행 파일이있는 디렉토리를 찾으십시오.
나는 그것을 추출했다 C:\Users\<username>\Downloads\stockfish-11-win
실행 파일은 C:\Users\<username>\Downloads\stockfish-11-win\Windows
실행 파일을 사용하려면 다음과 같이 실행 파일 의 경로 를 지정하십시오 .
from stockfish import Stockfish
stockfish = Stockfish(r'C:\Users\<username>\Downloads\stockfish-11-win\Windows\stockfish_20011801_x64.exe')
제공하는 경로의 기본값은 "stockfish"이므로 실행 파일이있는 디렉토리를 경로에 추가하고 원하는 exe의 이름을 바꾸면 다음 stockfish을 수행 할 수 있습니다.
from stockfish import Stockfish
stockfish = Stockfish()
레. 귀하의 의견 :
다른 건어물 관련 "명령"은 작동하지 않습니다.
OSError: [Errno 22] Invalid argument... 따라서 문제가 해결 된 것처럼 보이지만 다음 문제가 즉시 발생했습니다.
ArgumentError는 아마도 잘못된 인수를 전달했기 때문일 것입니다. 예를 들어 github 저장소 의 readme에서 명령을 실행했는데 완벽하게 작동합니다.