cmlibs-python / cmlibs.widgets

A collection of Qt widgets and utilities for Zinc.
Mozilla Public License 2.0
0 stars 13 forks source link

error: Could not find suitable distribution for Requirement.parse('cmlibs.argon-0.4.1') #64

Open Jasmine969 opened 1 year ago

Jasmine969 commented 1 year ago

I downloaded v0.4.0 ZIP file and executed pip .\setup.py install. The following error was given:

Processing dependencies for cmlibs.widgets==0.4.0 Searching for cmlibs.argon>=0.4.0 Reading https://pypi.python.org/simple/cmlibs.argon/ Couldn't find index page for 'cmlibs.argon' (maybe misspelled?) Scanning index of all packages (this may take a while) Reading https://pypi.python.org/simple/ No local packages or working download links found for cmlibs.argon>=0.4.0 error: Could not find suitable distribution for Requirement.parse('cmlibs.argon>=0.4.0')

So I tried to install cmlibs manually by executing pip install cmlibs.argon. It downloaded the wheel file successfully, but another error was then given:

Could not find a version that satisfies the requirement cmlibs.zinc (from cmlibs.argon) (from versions: ) No matching distribution found for cmlibs.zinc (from cmlibs.argon)

How can I install them properly? Thanks in advance!

hsorby commented 1 year ago

I am a little confused by this.
First, I would say the way to install cmlibs.widgets is pip install cmlibs.widgets. Second, I don't think this is a command to install anything: pip .\setup.py install. Third, I would have to ask what the output of the following command is: python --version.

I have tried my interpretation of what you said above and I did successfully install cmlibs.widgets from the zip file. I tried this with python version: Python 3.11.4.

Jasmine969 commented 1 year ago

First, I tried pip install cmlibs.widgets but it reported:

Could not find a version that satisfies the requirement cmlibs.zinc>=4.0 (from cmlibs.widgets) (from versions: ) No matching distribution found for cmlibs.zinc>=4.0 (from cmlibs.widgets)

Second, how can I install using the v0.4.0 ZIP file downloaded from Release v0.4.0 · cmlibs-python/cmlibs.widgets (github.com)

Third, because the python version of OpenCMISS Libraries SDK is 3.6, I set up my virtual environment with the python version of 3.6.13.

hsorby commented 1 year ago

That error you have when you installed with your first command pip install cmlibs.widgets really means that cmlibs.zinc is not available for your platform. Unfortunately cmlibs.zinc is only available on Python 3.7 and above.

cmlibs.zinc is a C extension library so it is very tightly coupled to the python version. You could (in theory) build cmlibs.zinc for Python 3.6 yourself but that wouldn't be overly easy (easy is a relative term, I would find it easy but you may not). The other thing to consider is that we don't test with python 3.6 so there is the potential there that cmlibs.zinc no longer works with that version of python without making substantial changes.

You will run into this same problem with v0.4.0. Using the zipped contents won't alleviate this problem.

As to your other question you can install v0.4.0 with the following command:

   python setup.py install

from inside the unzipped directory (this method is deprecated but potentially still good for python 3.6). Other ways to install it would be:

  pip install cmlibs.widgets-v0.4.0.zip

or from inside the unzipped directory again:

  pip install .

[That is a fullstop at the end of the command given above and it is required.]

Jasmine969 commented 1 year ago

I just switched to python version of 3.7 and installed cmlib.widgets successfully, but failed in installing OpenCMISS SDK (its python version is 3.6). The lastest version of OpenCMISS SDK on Download OpenCMISS Libraries is only 3.6 instead of 3.7 or higher, which is disappointing. Almost give up...

hsorby commented 1 year ago

With OpenCMISS, the visualisation side is the cmlibs.widgets part and the computation part is with OpenCMISS. You should be able to run your simulations with Python 3.6 using the SDK and then use Python 3.7 to visualise the output. A bit awkward but it would work.

Sorry, but I can't help with getting OpenCMISS working in a newer version of Python. I can't get it to work for me either, if that is any consolation.