dansanderson / picotool

Tools and Python libraries for manipulating Pico-8 game files. http://www.lexaloffle.com/pico-8.php
MIT License
367 stars 46 forks source link

Error during setup: `pip install picotool` "No matching distribution found for picotool" #96

Closed pancelor closed 2 years ago

pancelor commented 2 years ago

I tried following the install directions but it didn't work:

13:49 /w/picotool main d8c51e5
$ python --version
Python 3.8.10

13:49 /w/picotool main d8c51e5
$ pip --version
pip 21.1.1 from c:\users\pancelor\appdata\local\programs\python\python38\lib\site-packages\pip (python 3.8)

13:49 /w/picotool main d8c51e5
$ pip install picotool
ERROR: Could not find a version that satisfies the requirement picotool (from versions: none)
ERROR: No matching distribution found for picotool
WARNING: You are using pip version 21.1.1; however, version 21.3.1 is available.
You should consider upgrading via the 'c:\users\pancelor\appdata\local\programs\python\python38\python.exe -m pip install --upgrade pip' command.

Workaround:

After looking through the git history, I did ./setup.py install instead and that worked just fine!

dansanderson commented 2 years ago

It's possible the instructions need to say

pip install ./picotool

to convince pip to use the local directory and not look for it in PyPI. That didn't seem to be the case when I tried it, but I'll mess with it some more and update the instructions.

cmcoatney commented 2 years ago

I'm running MacOS BigSur and VSCODE I had to upgrade the version of Python (previously only had 2) and now have to use python3 command to distinguish. Not sure if that matters.

$ pip install picotool

DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621 ERROR: Could not find a version that satisfies the requirement picotool (from versions: none) ERROR: No matching distribution found for picotool

cmcoatney commented 2 years ago

UPDATE

(I'm not a python developer, so bear with...) the setup.py script uses the python command which I changed to python3

#!/usr/bin/env python3

after that, pancelor's workaround worked for me.

$ ./setup.py install
...
Installed /usr/local/lib/python3.7/site-packages/pypng-0.0.21-py3.7.egg
Finished processing dependencies for p8tool==0.1

This happens because I had to install the latest python in order to run this software, and already having a python 2 installation, it adds a 'python3' command so that the 'python' cmd points to the old installation

After that I'm still stuck tho. Can't use cmd picotool...

steka commented 2 years ago

I had the same problem, but I got it to work by using:

pip install .

Full console logs below:

C:\Users\Stefan\AppData\Roaming\pico-8\carts\tools\picotool
> python --version
Python 3.10.2

C:\Users\Stefan\AppData\Roaming\pico-8\carts\tools\picotool
> pip --version
pip 22.0.3 from C:\Users\Stefan\AppData\Local\Programs\Python\Python310\lib\site-packages\pip (python 3.10)

C:\Users\Stefan\AppData\Roaming\pico-8\carts\tools\picotool
> pip install picotool
ERROR: Could not find a version that satisfies the requirement picotool (from versions: none)
ERROR: No matching distribution found for picotool

C:\Users\Stefan\AppData\Roaming\pico-8\carts\tools\picotool
> pip install .
Processing c:\users\stefan\appdata\roaming\pico-8\carts\tools\picotool
  Preparing metadata (setup.py) ... done
Collecting pypng
  Using cached pypng-0.0.21-py3-none-any.whl (48 kB)
Using legacy 'setup.py install' for p8tool, since package 'wheel' is not installed.
Installing collected packages: pypng, p8tool
  Running setup.py install for p8tool ... done
Successfully installed p8tool-0.1 pypng-0.0.21

C:\Users\Stefan\AppData\Roaming\pico-8\carts\tools\picotool
> p8tool
usage: p8tool [-h] [-q] [--debug]
              {stats,listlua,listrawlua,writep8,luamin,luafmt,luafind,listtokens,printast,build} ...

options:
  -h, --help            show this help message and exit
  -q, --quiet           suppresses inessential messages
  --debug               write extra messages for debugging the tool

Commands:
  {stats,listlua,listrawlua,writep8,luamin,luafmt,luafind,listtokens,printast,build}
    stats               displays stats about one or more carts
    listlua             lists the Lua code for a cart to the console
    listrawlua          lists the Lua code for a cart to the console without parsing it
    writep8             converts a .p8.png cart to a .p8 cart
    luamin              minifies the Lua code for a cart, reducing the character count
    luafmt              make the Lua code for a cart easier to read by adjusting indentation
    luafind             finds a string or pattern in the code of one or more carts
    listtokens          lists the tokens for a cart to the console (for debugging picotool)
    printast            prints the picotool parser tree to the console (for debugging picotool)
    build               builds a cart out of multiple files

C:\Users\Stefan\AppData\Roaming\pico-8\carts\tools\picotool
>
dansanderson commented 2 years ago

I wrote the installation instructions without a cd picotool step so that pip install picotool would refer to the local directory. I'm guessing people who are having difficulty are changing the working directory after git clone out of habit (which is entirely understandable). I'll fix the instructions to include both cd picotool and pip install ..

steka commented 2 years ago

You have the text "Change to the unpacked archive or clone directory from the above step." before the pip install picotool so I assumed a cd picotool command, and the thing is that I also tried without the "cd picotool" and that also gave:

C:\Users\Stefan\AppData\Roaming\pico-8\carts\tools
> pip install picotool
ERROR: Could not find a version that satisfies the requirement picotool (from versions: none)
ERROR: No matching distribution found for picotool
dansanderson commented 2 years ago

Updated README. 49808e5ddb21e886a5608a19c95ec3ca6f1ee541