Could not find a version that satisfies the requirement lispy - python

I read book, I try practice these code snippet
>>> from lis import parse
>>> parse('1.5')
1.5
Then I follow guide at https://github.com/adamhaney/lispy#getting-started . My PC is Windows 11 Pro x64.
C:\Users\donhu>python -V
Python 3.10.4
C:\Users\donhu>pip -V
pip 22.0.4 from C:\Program Files\Python310\lib\site-packages\pip (python 3.10)
C:\Users\donhu>pip install lispy
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement lispy (from versions: none)
ERROR: No matching distribution found for lispy
C:\Users\donhu>
I also try install with Anaconda, but not success.
How to fix?

lispy is not a library in pip downloadable library. Instead, install lispy from the github repo. Here is a Link to post explaining how install directly from github repo

It seems Norvig's lispy is not module for installing but you have to download lis.py and put in folder with your code - or you would have to manually put it in folder with other modules.
As for github repo adamhaney/lispy: on Linux I can install it using git+ before https
pip install git+https://github.com/adamhaney/lispy
But this is not original lis.py but some modification and it needs
import lispy
parsed = lispy.runtime.parse('(define pi 3.141592653589793)')
result = lispy.runtime.eval(parsed)
parsed = lispy.runtime.parse('(define r 10)')
result = lispy.runtime.eval(parsed)
parsed = lispy.runtime.parse('(* pi (* r r))')
result = lispy.runtime.eval(parsed)
print(result)
or more useful
import lispy
def cmd(text):
parsed = lispy.runtime.parse(text)
result = lispy.runtime.eval(parsed)
if result:
print(result)
# --- main ---
cmd('(define pi 3.141592653589793)')
cmd('(define r 10)')
cmd('(* pi (* r r))')
or using interactive mode which displays prompt lispy>
import lispy
lispy.runtime.Runtime().repl()
BTW: repo adamhaney/lispy is 10 years old (last update on 6 Jul 2013)
and maybe this is problem. Maybe this lispy was removed from pypi.org and now you can't install it with pip
EDIT:
See also main page norvig.com - there is link to "NEW" List of Jupyter/Ipython notebooks with the newest materials (even from 2022)

Related

No module found error for a downloaded package (sksparse.cholmod) and how to download a package from the internet to conda

I need to use the sksparse.chomod package however my pycharm does not let me install it as it can't seem to find it.
I found the sksparse package on github and downloaded it but I do not know how to add a package downloaded from the internet into a conda environment. So, my first question would be can you download a package from github and add it to your conda environment, and how do you do this?
As I did not know how to do the above I instead saved the package within my project and thought I could simply import sksparse.cholmod. However, the line in my code that says import sksparse.cholmod as sks has no errors with it, so I assumed that meant this was ok, but when I try to run my file I get this error:
import sksparse.cholmod as sks
ModuleNotFoundError: No module named 'sksparse.cholmod'
If I have downloaded the package into my project why can't it be found, yet there are no errors when importing?
The cholmod file is a pyx file which I've been told should not be a problem.
Please could anyone help, I am reasonably new to python and I am looking for a straight forward solution that won't be time consuming.
It was an issue with windows, I was able to fix this using the instructions on this link
https://github.com/EmJay276/scikit-sparse
We must follow these steps precisely:
(This was tested with a Anaconda 3 installation and Python 3.7)
Install these requirements in order:
'''
conda install -c conda-forge numpy - tested with v1.19.1
conda install -c anaconda scipy - tested with v1.5.0
conda install -c conda-forge cython - tested with v0.29.21
conda install -c conda-forge suitesparse - tested with v5.4.0
'''
Download Microsoft Build Tools for C++ from https://visualstudio.microsoft.com/de/visual-cpp-build-tools/ (tested with 2019, should work with 2015 or newer)
Install Visual Studio Build Tools
Choose Workloads
Check "C++ Buildtools"
Keep standard settings
Run ''' pip install git+https://github.com/EmJay276/scikit-sparse '''
Test ''' from sksparse.cholmod import cholesky '''
Use all the versions stated for numpy etc, however with scipy I installed the latest version and it worked fine.

Can't figure out how to install Python package decoder.py

Python n00b here trying to install decoder.py via pip.
I see it exists when I search for it
$ pip search decoder.py
decoder.py (1.5XB) - Cross-platform Python module for decoding compressed audio files
But i can't seem to install it.
$ pip install decoder.py
Collecting decoder.py
Could not find a version that satisfies the requirement decoder.py (from versions: )
No matching distribution found for decoder.py
$ pip install decoder.py==1.5XB
Collecting decoder.py==1.5XB
Could not find a version that satisfies the requirement decoder.py==1.5XB (from versions: )
No matching distribution found for decoder.py==1.5XB
Any ideas?
This package doesn't provide any downloadable source code on PyPI.
You can download it from http://www.brailleweb.com/cgi-bin/python.py (this link was provided by authors on pypi, proceed with caution).
Author of decoder.py here. :D
I am sorry for inconvenience. pip was able to grab decoder.py from brailleweb.com before. It was unable to install it though because I didn't provide a setup script. I didn't do it primarily because people might like to choose which external decoders they would like to use and perhaps don't want to install them into their's Python site-packages directory on Windows.
So I settled for manual installation instead. You aren't first who complained about it and that's why next version will have the setup script at least.
The new version is coming out soon. I am sorry to say development is slower than I anticipated but new version will be ready sooner or later. :D
Cheers!

Python pip argparse upgrade

I have been attempting to upgrade argparse on Ubuntu 16.04 to the latest version, but pip keeps saying that it is part of the standard library.
How can this package be upgraded?
$ sudo pip install argparse --upgrade
Collecting argparse
Using cached argparse-1.4.0-py2.py3-none-any.whl
Installing collected packages: argparse
Found existing installation: argparse 1.2.1
Not uninstalling argparse at /usr/lib/python2.7, as it is in the standard library.
Successfully installed argparse-1.2.1
Thanks.
Argparse is maintained as a separate package here: https://pypi.python.org/pypi/argparse
Which is where pip is going to collect it.
But
As of Python >= 2.7 and >= 3.2, the argparse module is maintained
within the Python standard library. For users who still need to
support Python < 2.7 or < 3.2, it is also provided as a separate
package....
So, you are getting the error because it is part of the standard library, but also available to install via pip if you are using a version of Python for which it isn't.
If you really need to install 1.4.0 try this: (worked for me on my Windows 2.7.11 install)
Download the gzip file, not the wheel, from the pypi downloads page
Uncompress the archive and open a terminal in the argparse-1.4.01 folder
Run python setup.py install (See the 'Install' section of first link)
And check you now have the correct version (hopefully):
>>> import argparse
>>> argparse.__version__
'1.4.0'
Note:
This still leaves the original argparse.py (in ...Python27\Lib for me) intact, and places the 1.4.0 egg in site-packages, with an easy-install.pth file which I presume ensures that this version gets used in preference to the standard library one.

How do I pip install pattern packages in python 3.5?

How do I pip install pattern packages in python 3.5?
While in CMD:
pip install pattern
syntaxerror: missing parentheses in call to 'print'
Shows error:
messageCommand "python setup.py egg_info" failed with error
code 1 in temp\pip-build-3uegov4d\pattern
seaborn and tweepy were all successful.
How can I solve this problem?
pip install pattern3 - Python 3.x
pip install pattern - Python 2.7.x
As of writing, Python 3.6 support is still not merged with master. However, it is available in the python3 branch.
To install via pip:
pip install https://github.com/clips/pattern/archive/python3.zip
Note that ThReSholD's answer for Python 3 (pattern3) is for a:
deprecated pattern3 repository which contains a completely different code base that is not maintained anymore
It looks like from the documentation that, for python 3, pattern is only supported in 3.6 and up. https://github.com/clips/pattern#installation
This worked for me to get pattern.en working in python 3.6:
git clone -b development https://github.com/clips/pattern
cd pattern
sudo python3.6 setup.py install
https://github.com/clips/pattern/issues/62
I had some SSL errors during installation on my mac (10.11.6) that were fixed by running this code in python (3.6):
import nltk
import ssl
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
pass
else:
ssl._create_default_https_context = _create_unverified_https_context
nltk.download('wordnet_ic')
apparently there's a better way to deal with ssl stuff like this fwiw:
https://stackoverflow.com/a/41351871/8870055
sanity check:
user#USDR00253 ~> python3.6
Python 3.6.4 (v3.6.4:d48ecebad5, Dec 18 2017, 21:07:28)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> from pattern.en import conjugate, lemma, lexeme, parse
>>>
>>> print(parse('ridden', relations=True, lemmata=True))
ridden/VBN/B-VP/O/O/ride
>>>
pattern.en finally running in python 3!
The short answer at the moment is - you can't. They haven't quite finished the port to python3 yet.
There is alleged compatibility in the development branch but the recommended manual setup didn't work for me (in virtualenv) - it fails in a different way.
https://github.com/clips/pattern/tree/development
The porting issue thread is here, spanning 2013 to yesterday:
https://github.com/clips/pattern/issues/62
The official A contributing port repo is here, but it's not finished yet (the readme says there is no Python3 support).
https://github.com/pattern3/pattern
So you could try pip install pattern3 which does install it - but it has a different package name, so you would have to modify any references to it. For me this is "impossible" as it's required by other 3rd party packages like GenSim.
UPDATE
I did get it working in the end in Python3 with Gensim, by manually installing it from the development branch as suggested and fixing up a few problems both during install and execution. (I removed the mysql-client dependency as the installer isn't working on Mac. I manually downloaded the certs for the NTLK wordnet corpus, to fix an SSL error in the setup. I also fixed a couple of scripts which were erroring, e.g. an empty 'try' clause in tree.py). It has a huge set of dependencies!
After reading more on the port activity, it seems they're almost finished and should release in a few months (perhaps early 2018). Furthermore the pattern3 repository is more of a "friend" than the official Python3 fork. They have already pulled the changes from this contributor into the main repo and they are preparing to get it released.
Therefore it should become available on pip in the main pattern package (not the pattern3 one which I presume will be removed), and there should be no package name-change problems.
For Mac OS:
brew install mysql
export PATH=$PATH:/usr/local/mysql/bin
pip3 install mysql-connector
pip3 install https://github.com/clips/pattern/archive/python3.zip
In the upgrade from python 2.x to 3.x, the print statement was made into a function call rather than a keyword. What used to be the line print "Hello world!" is now the line print("Hello world!"). So now all code written for 2.x that prints to the console does not work in version 3.x, as the compiler hits a runtime error on the print statement.
There are really only two fixes to this problem: Use version 2.x instead, or find a library built for version 3.x.
Additionally, I was facing :
"BadZipFile: File is not a zip file" error while importing from pattern.
This is because sentiwordnet which is out of date in nltk. So comment it in :
C:\Anaconda3\Lib\site-packages\Pattern-2.6-py3.5.egg\pattern\text\en\wordnet\_init.py
Make sure the necessary corpora are downloaded to the local drive
for token in ("wordnet", "wordnet_ic"): , "sentiwordnet"
try:
nltk.data.find("corpora/" + token)
Using Windows Subsystem for Linux, I made pattern to work using conda from (miniconda) in
Python 3.6:
conda create -n test -c conda-forge python=3.7 pattern
conda activate test
works without issues
Python 3.7:
conda create -n test -c conda-forge python=3.7 pattern
conda activate test
I discovered that there is a bug with StopInteration due to PEP-479, and replacing raise StopIteration with return in pattern\text\__init__.py fixes it.
To find the location if the file, I executed
cd $(python -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")
nano pattern/text/__init__.py
Line 605, just above class Lexicon(lazydict): ... replace raise StopIteration with return.
And all is working fine.

PyOpenGL glutInit NullFunctionError

I am running Anaconda Python 2.7 on a Win7 x64 machine and used
pip install PyOpenGL PyOpenGL_accelerate
at the Anaconda command line to install PyOpenGL.
I have some code (not my own I must confess) that makes use of glutInit
import sys
import math
import numpy
import OpenGL
from OpenGL.GL import *
from OpenGL.GLUT import *
import Image
import linkage
# ... a whole load of definitions etc ...
glutInit(sys.argv)
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB)
glutInitWindowSize(600, 600)
glutCreateWindow('linkage')
init()
initWindow()
glutIdleFunc(idle)
glutMainLoop()
I run by entering the following at the command line:
python main.py peaucellier.txt
But then get the following error (line 371 is the glutInt(sys.argv) line above)
File "C:/Users/Owner/Documents/Python Scripts/linkage/main.py", line 371, in <module>
glutInit(sys.argv)
File "C:\Anaconda\lib\site-packages\OpenGL\GLUT\special.py", line 333, in glutInit
_base_glutInit( ctypes.byref(count), holder )
File "C:\Anaconda\lib\site-packages\OpenGL\platform\baseplatform.py", line 407, in __call__
self.__name__, self.__name__,
NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
I have looked at similar errors posted in this forum but none of the proposed fixes are working which is why I'm asking, what's wrong here?
Is the installation at fault? Are the imports correct?
EDIT: After trying many many fixes for the official release I am now using an unofficial release that works perfectly from Unofficial Windows Binaries for Python Extension Packages
According to the link below the problem was with the glut installation rather than pip install. It seems glut files are not part of PyOpenGL or PyOpenGL_accelerate package. You have to download them seperately.
https://stackoverflow.com/a/39181193/7030177
Windows user can use the link below to download glut as mentioned in the given link.
ftp://ftp.sgi.com/opengl/glut/glut3.html.old#windows
Linux Users can just install glut using the following command:
sudo apt-get install freeglut3-dev
Hope this helps :)
After looking around for a solution to a similar problem I ran across this google group that answers the question: https://groups.google.com/forum/#!topic/glumpy-users/aC1NjEHXtEE
There is a problem with OpenGL.GLUT when downloaded as pip from the official source. Uninstall OpenGL using pip, then download OpenGL from http://www.lfd.uci.edu/~gohlke/pythonlibs/
For people on Linux with this error after installing via easy_install PyOpenGL or pip install PyOpenGL.
-> Install the distribution package as: sudo apt-get install python-opengl - this works for me.
If installing PyOpenGL from easy_install, pip or conda, make sure that you have already installed a GLUT implementation, such as FreeGLUT (prebuilt Windows binaries).
For FreeGLUT, copy the distributed files to a location on your hard drive and then add the path to the bin directory (which contains the GLUT DLLs) to your PATH environment variable. Then PyOpenGL should work as expected.
It is mainly because you're running 64-bit windows put pip is installing 32-bit version of PyOpenGL.
To fix this, follow these steps:
Uninstall existing PyOpenGL, Run pip uninstall PyOpenGL PyOpenGL_accelerate
Download the 64-bit builds of PyOpenGL and PyOpenGL accelerate from here: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl
How to choose which one to download? Well, first you need to check your python version. Run python --version to determine.
Then according to your version download the whl files for PyOpenGL and PyOpenGL accelerate. For example, if you have Python 3.8, download these 2 files:
PyOpenGL‑3.1.5‑cp38‑cp38‑win_amd64.whl
PyOpenGL_accelerate‑3.1.5‑cp38‑cp38‑win_amd64.whl
Similarly, if you run Python 3.9, download these instead:
PyOpenGL‑3.1.5‑cp39‑cp39‑win_amd64.whl
PyOpenGL_accelerate‑3.1.5‑cp39‑cp39‑win_amd64.whl
Note: Must download amd64 ones, after all, you're running 64-bit windows.
Now go to the folder where you downloaded the files and run powershell/cmd with administrator there.
Use pip to force install those files. For example:
pip install PyOpenGL-3.1.5-cp38-cp38-win_amd64.whl --force-reinstall
pip install PyOpenGL_accelerate-3.1.5-cp38-cp38-win_amd64.whl --force-reinstall
Note: Install PyOpenGL first and then PyOpenGL_accelerate
If the installation succeeds, you may be able now to run.
Some facts to make sure:
*All platforms must be of the same bit version.
*System type, python, OpenGL needs to be of the same bit version. In my case it was x64 bit
*It is necessary to restart your desktop if you reinstall any one of them (Python, OpenGL)
*It is recommended to keep your pip version at 20.3, I downgraded it from 21.1.3
I got the same error and a solved installing required files from here.
Download these files:
PyOpenGL-3.1.1-cp27-cp27m-win32.whl (download if your computer 32 bits )
PyOpenGL-3.1.1-cp27-cp27m-win_amd64.whl (download if your computer 64 bits )
PyOpenGL_accelerate-3.1.1-cp27-cp27m-win32.whl (download if your computer 32 bits )
PyOpenGL_accelerate-3.1.1-cp27-cp27m-win_amd64.whl (download if your computer 64 bits )
install these .whl files for 64 bits:
pip install PyOpenGL-3.1.1-cp27-cp27m-win_amd64.whl
pip install PyOpenGL_accelerate-3.1.1-cp27-cp27m-win_amd64.whl
install these .whl files for 32 bits:
pip install PyOpenGL-3.1.1-cp27-cp27m-win32.whl
pip install PyOpenGL_accelerate-3.1.1-cp27-cp27m-win32.whl
for python 2.7, PyopenGL needs vc++ 9 compiler, download and install it.
then:
python -m pip install --upgrade pip
pip install image
pip install numpy
pip install PyOpenGL PyOpenGL_accelerate
I downloaded freeglut
unzipped it and added bin directory to the path
when calling: glutCreateWindow("sometitle")
changed to glutCreateWindow(b'sometitle')
and got it run on windows 7
My case is different, Python 3.6 and windows 10. However exactly same error message. Tried all above solutions, no success.
Downloaded WHL file right to my computer and version of python from HERE
Then pip installs filename.Whl, no more issue!
The answer was from a Chinese website: Answer Link
Yes, this happened to me on Windows 10 running python 2.713 anaconda 4 64 bit. I had used conda to install pyopengl but received the same error as above. So I downloaded freeglut from transmissionzero and just copied the freeglut.dll (64 bit for me) to the same directory as my source file (it just needs to be in the dll searchpath) and all was good.
I know it is a little late. I also encountered this problem with python 2.7 (32 bits) in windows. I tried the method mentioned by user2723240 but still failed. Finally, I solved this problem by copying glue32.dll to System32 in C drive and copy glue32.dll into my source file directory. It works well now.
On linux, the pyopengl module attempts to use ctypes module to load the glut library as simply 'glut'. According to ctypes documentation the loadLibrary routine must be given the complete filename. Therefore, I made a symbolic link to libglut.so and named it 'glut' and everything just worked.
The following command should work for Anaconda users:
conda install -c conda-forge freeglut
https://anaconda.org/conda-forge/freeglut
On windows, although PyOpenGL says it installs freeglut by default, it does not.
To patch it, you must download or compile freeglut (other answers here contain the appropriate links) and place it in a new site-packages/OpenGL/DLLS folder inside to your existing OpenGL site-packages installation.
Once there, the freeglut.dll needs to have the bits and the MSVC version appended to the filename. OpenGL/platform/win32.py has the details on exactly how it's detected.
To make it clearer the filename needs to be the one printed from the following script:
import sys
import platform
if sys.hexversion < 0x2070000:
vc = 'vc7'
elif sys.hexversion >= 0x3050000:
vc = 'vc14'
elif sys.hexversion >= 0x3030000:
vc = 'vc10'
else:
vc = 'vc9'
size = platform.architecture()[0].strip('bits')
print(f'freeglut{size}.{vc}.dll')
Step 1
Install python in your system windows 10/11 preferred. for python 3.8.0 : https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe
If you have already installed then check for your python version
Open terminal and type "python --version"
it will display your python version. for example I have installed python 3.8.0.
Step 2
Next open terminal and run the below command
python -m pip install --upgrade pip==20.3
sometimes you have higher version of pip installed but its okay to downgrade back to version 20.3
Step 3
now for installing OpenGL go to this site : https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl
and download
PyOpenGL‑3.1.6‑cp38‑cp38‑win_amd64.whl (for 64bit windows) or
PyOpenGL‑3.1.6‑cp38‑cp38‑win32.whl (for 32 bit)
and
PyOpenGL_accelerate‑3.1.6‑cp38‑cp38‑win_amd64.whl (for windows 64bit) or
PyOpenGL_accelerate‑3.1.6‑cp38‑cp38‑win32.whl (for windows 32bit)
Note : I have in installed python 3.8.0. so I downloaded PyOpenGL having cp38 word in it. If you have installed python 3.9 or other version download the above mentioned file having name cp39,cp10 etc.
after downloading both files according to your python version. put it a folder.
Step 4
then open terminal from that folder. Windows 10 lets you launch Command Prompt in a folder through the File Explorer's address bar. Type “cmd” in the address bar and then hit Enter
after opening terminal enter the below command
pip install PyOpenGL-3.1.6-cp38-cp38-win_amd64.whl --force-reinstall
then after installing it run the below command
pip install PyOpenGL_accelerate-3.1.6-cp38-cp38-win_amd64.whl --force-reinstall
Note : Don't forget to change the file name ( e.g. : PyOpenGL-3.1.6-cp38-cp38-win_amd64.whl) to the file name that you have downloaded.

Categories