I am trying to run the chess solving program Popeye, but I am failing to understand how to start the program on Windows.

There is an English guide, and this is all of what is tells you to do:

Starting popeye:

Change the name of your preferred executable to py.exe

To operate it from the terminal: py

To solve problems recorded in file XX: py XX

I'm basically illiterate when it comes to code. Can anyone explain how to start Popeye?

  • A slightly indirect answer: you'll need to use the command line. Windows has a very different command line syntax from Linux/iOS systems, so take note when learning. Once you learn how to navigate around your folders with cd, navigate to the folder with the Popeye executable, then run it with the commands in the guide.
    – Remellion
    Jan 13, 2020 at 7:19
  • 3
    @Remellion OP can navigate to the folder using Windows Explorer, rename the executable as they would any other file, and then Shift + Right-click → Open command prompt here to open a terminal in that same directory, thus avoiding having to use any shell commands like cd.
    – walen
    Jan 13, 2020 at 14:59

2 Answers 2


To ease the burden of typing, what I do is this: I have a file containing chess-related commands I have run. I keep this file in a directory I can easily find. Most times I want to do a chess-related command, it's a slight variant of one I ran earlier, e.g. to run Popeye on some other input file. So I'd replace the old input file name with the new one, resulting in something like this:

cd "D:\games\by game\chess\problems\Popeye"
C:\Progra~1\Popeye\pywin64 Smith_h#3.pyin

C:\Progra~1\Popeye\pywin64 is just where I installed the Popeye executable on my Windows PC. Replace this with whatever is the file name (including drive-letter and full path) of where you've installed the Popeye executable on yours.

The parameter Smith_h#3.pyin you see there is the name of the file which Popeye is to read. As it stands, that command would run Popeye, read that file and write its output to the command-prompt window. This is what that Popeye documentation was referring to when it said "To solve problems recorded in file XX". By XX they mean the name of the file in which you have written the Popeye commands that describe the problems(s) you want Popeye to solve. That Popeye documentation describes the Popeye commands which you need to put into the input file to describe a problem to Popeye.

If you want to capture this output in a file, here are two ways to do it. One is to specify the output file in the command, e.g.

C:\Progra~1\Popeye\pywin64 Smith_h#3.pyin > Smith_h#3.pyout

This would redirect output to Smith_h#3.pyout but would not write anything to the window while Popeye is running. Another is to put the Popeye command

prot Smith_h#3.pyout

in Popeye's input. This would redirect output to the specified output file and write it to the window as well.


For those interested, you can download the exe from https://sourceforge.net/projects/popeye-chess/

There's no reason to alter the name of the executable. You have to enter command prompt. On windows this is done by running cmd.exe, or you can use a dos emulator. When you're in the folder which contains the popeye.exe file, you can start the program by typing popeye. However, the program is "dumb" and you need to provide more parameters. The first parameter is the file which contains the puzzle(s). There are three other parameters, but they're not needed.

For example, the command "popeye puzzle.pgn" starts the popeye program and tells it to solve the puzzles in the puzzle.pgn file. The program should produce a generic file with the answer(s) and misc. info about what the program did.

There is another method, but that is more restrictive and not really worth mentioning.

This is the method on a Windows OS. For Linux, Apple, or other OS the procedure is slightly different, but users of these OSes normally are already familiar with these methods.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.