Closed WonderfulDoge72 closed 3 months ago
@WonderfulDoge72 Thanks for raising an issue Which version of python are you using?
Also aiohttp
support for python 3.11/3.12 is still in beta, so try to manually install aiohttp==3.8.6
PyObjc is also pinned with 9.0.1 from a downstream dependency py3tts
If you haven't done already, I'd suggest deleting any previous versions and clean any virtual environments I'd recommend the following
python3.11 -m venv venv
source venv/bin/activate
# this should pull the latest changes in master branch
pip install --no-cache git+https://github.com/thevickypedia/Jarvis.git
jarvis install # you may have to run this step twice in case of conflicts during multi-threading
And finally,
pip install --no-cache aiohttp==3.8.6 pyobjc==9.0.1
Please try the above, and let me know how it goes.
It worked. Thanks so much for your help. Unfortunately, I just realized I have an arm64 processor but need an AMD one to run the code. I will buy another computer in the next week that is compatible and hopefully run Jarvis. Thanks again for the awesome project and fast reply.
The wake word detection library (picovoice older than v2) is the only dependency that cannot run on ARM based machines. I intentionally hard coded picovoice to 1.9 since their newer versions are not open source. I was going to create my own light weight wake word detection engine but the process is pretty time taking.
So you can still install all the dependencies manually and run jarvis start
which should kick off even in ARM based machines.
Only the installation process is restricted to AMD
I was able to manually install dependencies listed on the version_locked_requirements.txt, but for some reason, it now gives me this error when I use the Jarvis start command: SyntaxError: multiple exception types must be parenthesized. Any solutions? I know this indicates that when handling multiple exception types within a single except block, you need to enclose them within parentheses, but I don't know where to add parentheses around the list of exception types I want to handle.
@WonderfulDoge72 - I appreciate your efforts to get this working.
For starters, the version_locked_requirements.txt
is not the only source for dependencies.
I pushed out a change d833150
this morning, to give an option to the user to continue installation on untested architectures. Can you please purge any existing environments and do the below,
pip install git+https://github.com/thevickypedia/Jarvis.git
jarvis install
As far as I know, porcupine - v3 is the only library you might need to install after doing the steps above. I couldn't get myself to having to generate a token just for wake word detection and I primarily run Jarvis on my AMD machine. So I never re-visited to spend the time to figure out what's going on with machines running other processors.
Let me know how it goes. Good luck.
Thanks for the enhancements. I am running Python 3.11.0 64-bit on a Mac OS Sonoma 14.5 in VS code. I uninstalled and deactivated everything and started a new virtual environment. However, when I type in the pip commands to install, the console still gives me this error:
Current Architecture: arm64
Jarvis is currently supported only on AMD machines.
The console does not give me another option or show any effort in trying to keep installing. Where can I get the complete list of dependencies to install manually? Thanks so much for your patience and understanding.
I think you may have done a pip install jarvis-ironman
Can you try the following
rm -rf venv # (or your virtual env's name)
python3.11 -m venv venv && source venv/bin/activate
python -V && which python # Make sure this points to 3.11.0 and it is the python within the venv you created
pip install --no-cache --force git+https://github.com/thevickypedia/Jarvis.git
The latest commit on master
branch should display these lines
Btw, this isn't an IDE issue, this is an installation problem.
What you told me works. I am seeing the new Y/N for the ARM processor option to install. However, jarvis install
still does not work. I run jarvis install
it first gives me this: One or more installation threads have failed!! Please set JARVIS_VERBOSITY=1 and retry to identify root cause.
Therefore, I ran export JARVIS_VERBOSITY=1
. These are the specific errors that the terminal gives me after runningexport JARVIS_VERBOSITY=1
:
Requirements should be satisfied by a PEP 517 installer.
If you are using pip, you can try pip install --use-pep517
.
Custom 'build_py' does not implement 'get_data_files_without_manifest'. Please extend command classes from setuptools instead of distutils.See https://peps.python.org/pep-0632/ for details.
Please avoid running setup.py
directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
Please avoid running setup.py
directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (gTTS) Thread processing for '/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m pip install --verbose --no-cache -r /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/jarvis/lib/version_locked_requirements.txt' received an exception: AssertionError("'/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m pip install --verbose --no-cache -r /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/jarvis/lib/version_locked_requirements.txt' returned exit code 1")
Thanks again for your patience and for being so nice about helping me with these issues.
There is a long standing issue about the PEP-517
For more info: https://github.com/pypa/pip/issues/9081
Apparently using --use-pep517
flag is the workaround which can also be set as env var
~But I wonder why it's causing an issue specifically on ARM machines. I haven't tested this on an ARM yet, probably it's time to do so. I'll get back to you after testing it.
Meanwhile if you're able to figure out, feel free to work off a branch and raise a PR if you get to fixing it first.~
Update I just tested the latest version on an ARM machine and I didn't run into any hiccups
***********************************************************************************************************************************************************************************************************
Installation has completed!
***********************************************************************************************************************************************************************************************************
(venv) Vignesh Rao ~ % uname -m
arm64
(venv) Vignesh Rao ~ %
(venv) Vignesh Rao ~ % which python
/Users/vmac/Desktop/git/Jarvis/venv/bin/python
(venv) Vignesh Rao ~ %
(venv) Vignesh Rao ~ % python -V
Python 3.11.9
(venv) Vignesh Rao ~ %
(venv) Vignesh Rao ~ % pip -V
pip 24.1.1 from /Users/vmac/Desktop/git/Jarvis/venv/lib/python3.11/site-packages/pip (python 3.11)
(venv) Vignesh Rao ~ %
Vignesh Rao ~ % sw_vers | grep Product
ProductName: macOS
ProductVersion: 14.5
(venv) Vignesh Rao ~ %
(venv) Vignesh Rao ~ % pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version
version: 15.3.0.0.1.1708646388
(venv) Vignesh Rao ~ %
(venv) Vignesh Rao ~ % brew -v
Homebrew 4.3.5
(venv) Vignesh Rao ~ %
(venv) Vignesh Rao ~ % git rev-parse HEAD
d8c83d81cadd9582180ef0b7e6af68ce1e0a0918
(venv) Vignesh Rao ~ %
Can you cross check all the package versions as above.
This is the output of my pip freeze
, perhaps you can try and install this directly and see if anything changes. Something like,
pip install --no-cache --no-cache-dir --force-reinstall -r arm_req.txt
Interesting. I am on a month-long vacation, so I haven't had much time to work on this. I did cross-check the package versions, and they appear to be somewhat identical, given that newer versions of some software have been released since the provided comment. Installing directly does not work, as my pip could not find the source code to build any of the wheels. I have asked some of my friends who are far more advanced in Python as well. It may just be my computer, so I will maybe test this on a different model/OS. I don't know if you have any more solutions to my issues but thanks for everything, and know that I will not give up until Jarvis works. I will keep you updated and if any fixes or improvements come up, let me know.
First of all, thanks so much for the great project. However, when I try using the install line I get these errors:
I am running this on Visual Studio code on Mac OS Sonoma 14.5. I Ensured Required Build Tools, Upgraded pip, setuptools, and wheel, Manually Installed Dependencies, and Checked for Pre-built Wheels, but still have no luck. Im sorry if this is rather a dumb question, but I'm quite new to python and could not find anything to solve my problem.