pypy3 import psycopg2 error (undefined symbol: PyCoder_Encoder) - python-3.x

I installed psycopg2 to pypy3(Python3.5.3) by the following code on Ubuntu16.04:
pypy3 -m pip install psycopg2
However, I got some errors:
Error:b'You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.\n'
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-epd368s6/psycopg2
And I found the solution in "You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application".
My computer has already installed Postgresql9.5, so I used these commands to install:
sudo apt-get install libpq-dev
pypy3 -m pip install psycopg2
No error was reported, but when I tried "import psycopg2", I got ImportError:
enter image description here
I found the same error in "pypy3 import psycopg2 error (PyCodec_Encoder)", but I did not found a solution.
Do someone know how to fix it?

The PyPy issue you pointed to contains the answer "Someone will have to implement the missing function (and the other missing PyCodec_* functions. Currently we only implement very few in codec.py. The implementation is quite straight-forward based on the pattern in the functions implemented, the harder part is writing tests.
There is the psycopg2cffi package, which should work on PyPy and will be faster. Perhaps give it a try and comment here if it serves your needs.

psycopg2-binary works with latest version of PyPy 3.6 (nightly build from 2020-01-23) as it contains the PyCodec_Encoder and PyCodec_Decoder implementations.

Related

Can't install python-docx using pip

I am very new to python and programming in generall. I am following a tutorial and tried to install python-docx using pip in the cmd, but it doesn't work.
Those are the errors i see:
DEPRECATION: lxml is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
Running setup.py install for lxml ... error
error: subprocess-exited-with-error
and
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> lxml
note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
Can somebody help me with that problems in a way that even a newcomer like me understands it ?
I tried it with >pip install python-docx and >pip install python-docx==0.8.11 in the cmd.
I have had the same error. Check if you have
Microsoft Visual C++ 14.0 or greater. You can download it here. https://visualstudio.microsoft.com/visual-cpp-build-tools/
That has solved the problem for me
I found a solution. It worked after installing a manual build windows x64 wheel for python 3.11. See github_lxml/lxml#356

Error installing psycopg2 on macOS with building wheel [duplicate]

I'm attempting to make a website with a few others for the first time, and have run into a weird error when trying to use Django/Python/VirtualEnv. I've found solutions to this problem for other operating systems, such as Ubuntu, but can't find any good solutions for Mac.
This is the relevant code being run:
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
After running that block, I get the following errors:
AssertionError
Failed building wheel for django-toolbelt
Running setup.py bdist_wheel for psycopg2
...
AssertionError
Failed building wheel for psycopg2
Failed to build django-toolbelt psycopg2
I believe I've installed the "django-toolbelt" and "psycopg2", so I'm not sure why it would be failing.
The only difference I can think of is that I did not use the command
sudo apt-get install libpq-dev
as was instructed for Ubuntu usage as I believe that installing postgresql with brew took care of the header.
Thanks for any help or insight!
For MacOS users
After trying all the above methods (which did not work for me on MacOS 10.14), that one worked :
Install openssl with brew install openssl if you don't have it already.
add openssl path to LIBRARY_PATH :
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
install psycopg2 with pip pip3 install psycopg2
I had the same problem on Arch linux. I think that it's not an OS dependant problem. Anyway, I fixed this by finding the outdated packages and updating then.
pip uninstall psycopg2
pip list --outdated
pip install --upgrade wheel
pip install --upgrade setuptools
pip install psycopg2
I was also getting same error.
Using Python 3.7.3 and pip 19.1.1.
I used following command.
pip install psycopg2-binary==2.8.3
TDLR
If you aren't used to installing Python C-extensions, and psycopg2 isn't a core part of your work, try
pip install psycopg2-binary
Building Locally
psycopg2 is a C-extension, so it requires compilation when being installed by pip. The Build Prerequisites section of the docs explain what must be done to make installation via pip possible. In summary (for psycopg 2.8.5):
a C compiler must be installed on the machine
the Python header files must be installed
the libpq header files must be installed
the pg_config program must be installed (it usually comes with the libpq headers) and on $PATH.
With these prerequisites satisfied, pip install psycopg2 ought to succeed.
Installing pre-compiled wheels
Alternatively, pip can install pre-compiled binaries so that compilation (and the associated setup) is not required. They can be installed like this:
pip install psycopg2-binary
The docs note that
The psycopg2-binary package is meant for beginners to start playing with Python and PostgreSQL without the need to meet the build requirements.
but I would suggest that psycopg2-binary is often good enough for local development work if you are not using psycopg2 directly, but just as a dependency.
Concluding advice
Read the informative installation documentation, not only to overcome installation issues but also to understand the impact of using the pre-compiled binaries in some scenarios.
I had same problem and this appears to be a Mojave Issue, I was able to resolve with:
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
For Mac OS X users:
1. First check your postgresql path by running this command in terminal:
pg_config
If this fails lookup how to add pg_config to your path.
2. Next install Xcode Tools by running this command in terminal:
xcode-select --install
If you have both those sorted out now try to install psycopg2 again
For MacOS users, this question has the correct solution:
install command line tools if necessary:
xcode-select --install
then
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
I was also facing the same after running all the above commands, but the following two commands worked for me:
Instead of pip, use this:
sudo apt-get install libpq-dev
then run this command:
pip install psycopg2
On OS X, I was able to solve this by simply upgrading wheel before installing psycopg2:
pip install --upgrade wheel
For OSX Sierra users, it seems that an xcode update is the solution: Can't install psycopg2 package through pip install... Is this because of Sierra?
I tried all the above solutions but they did not work for me. What I did was change the psycopg2 version in my requirements.txt file from psycopg2==2.7.4 to psycopg2==2.7.6
Is your error message complete? the most encountered reason for failing to install psycopg2 on mac from pip is pg_config is not in path.
by the way, using macports or fink to install psycopg2 is more recommended way, so you don't have to worry about pg_config, libpq-dev and python-dev.
plus, are using Python 3.5? then upgrage your wheel to > 0.25.0 using pip.
I faced the same issue, but the answers above didn't work for me.
So this is what I did in my requirements.txt
psycopg2-binary==2.7.6.1 and it worked fine
I had this issue on several packages, including psycopg2, numpy, and pandas. I simply removed the version from the requirements.txt file, and it worked.
So instead of psycopg2-binary==2.7.6.1 I just had psycopg2-binary.
I know you are asking for development environment but if you are deploying on server say, Heroku. Just add below line in the requirements.txt of your project.
django-heroku==0.3.1
As this package itself will install the required packages like psycopg2 on server deployment.So let the server(heroku) should take care of it.
sudo apt install libpq-dev python3.X-dev
where X is the sub version,
these should be followed by :
pip install --upgrade wheel
pip install --upgrade setuptools
pip install psycopg2
Enjoy !!!
I solved my problem by updating/installing vs_BuildTools. The link to the software was given in the error itself.
Error Image
Fixed by installing python3.7-dev: sudo apt install python3.7-dev, based on the link.
Python: 3.7
Ubuntu: 20.04.3 LTS

Python installing package with pip failed

I got this error message when I was installing python-binance.
Error message is in the link below please check
https://docs.google.com/document/d/1VE0Ux_ji9RoK0NIrPD3BSbs60sTaxThk3boxsvh051c/edit
Anyone knows how to fix it?
You're trying to install email from PyPI which is a very old outdated Python2-only package.
email is now a module in the stdlib. You don't need to install it, it must always be available. Just import and use.
You might have outdated setuptools, try:
pip install --upgrade setuptools
Then continue trying to install the module you want.
Usually these kinds of problems can be solved by googling the error: in this case you should try searching with "python setup.py egg_info".
Also, try to give a more descriptive title for your problems in the future. "Python installing package with pip failed" is too broad.
Thanks guys I already figured out what error message means, I downloaded twisted from third party website and installed it and it worked.

ModuleNotFoundError: No module named 'cv2.ximgproc

When I am running the command from cv2.ximgproc import guidedFilter, I am getting an error: ModuleNotFoundError: No module named 'cv2.ximgproc'
I searched the Internet for possible reasons, and I found out that I should run a command pip install opencv--contrib-python on the terminal, which I did. Even after doing that, I am getting the same error.
Please note that I am not very good at programming and technical stuff, so please explain in simple terms. I have a mac, and I am using Anaconda for writing my codes.
You need to uninstall the regular opencv package first.
First uninstall both regular opencv as well as contrib package:
pip uninstall opencv-python
pip uninstall opencv-contrib-python
Then install the contrib package:
pip install opencv-contrib-python
You can refer to this post for more information:
Module 'cv2.cv2' has no attribute 'ximgproc'
I have written a python script as follows:
from cv2.ximgproc import guidedFilter
print("hello")
Initially it was giving me the same error : 'ModuleNotFoundError: No module named 'cv2.ximgproc'. But then i ran the command "pip install opencv--contrib-python" and after that it prints "hello" i.e it is detecting the ximgproc module.
please check the below screenshot.
Check once the installation of opencv--contrib module. There is some problem at that stage.

installing fastkde library in Python

I want to install fastkde library and I did actually everything on web but I am yet able to install this. I constantly get this error in terminal:
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-4ff4dzcb/fastkde/
Can anybody help me with this?
If you've pip installed which is true for all distributions downloaded from here, then just key in the commands in your terminal given below.
pip3 install fastkde

Resources