Can't install psycopg2-binary - django

I'm trying to install psycopg2-binary (pip3 install psycopg2-binary) inside the virtual environment of my Django project on Centos 7 with preinstalled Postgresql 12 and have the well-known error:
Error: pg_config executable not found.
pg_config is required to build psycopg2 from source. Please add the directory
containing pg_config to the $PATH or specify the full executable path with the
option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
If you prefer to avoid building psycopg2 from source, please install the PyPI
'psycopg2-binary' package instead.
I tried to install python3-devel postgresql-libs postgresql-server postgresql-devel postgresql-contrib, but still have this error.
pip3 install psycopg2, pip install psycopg2 - the same problem.
PS The problem was solved via updating pip (pip install --upgrade pip).

you can try it this method, is very useful
sudo apt-get install postgresql postgresql-dev python-dev

Related

Error installing django-heroku Error: pg_config executable not found

I tried installing django-heroku via pip so I can deploy my project on heroku but during installation of django-heroku it tried to install psycopg2 along only to produce an error:
Error:pg_config executable not found.
pg_config is required to build psycopg2 from source.please add the directory containing pg_config to the $PATH or specify the full executable path with the option:
python setup.py build_ext--pg-config/path/to/pg_config build...
or with the pg_config option in 'setup.cfg'.
And I also wish to know if I'm required to pip install it since heroku installs the libaries specified in the requirements.txt file,if not required are there changes I need to make to my project before deployment.
Perhaps not optimal solution but it did work for me.
pip install --no-dependencies django-heroku
Be sure to have other required packages installed.
pip install django
pip install whitenoise
pip install psycopg2-binary
P.S. I have already had postgresql installed on my Mac. Not sure why I was getting the same error.
I renamed "psycopg2" in the python site packages folder to "psycopg2-binary", and this fixed my issue.

ERROR: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-YYFUnW/psycopg2/

I'm trying to install requirements.txt file in python 2.7 in ubuntu but i get ERROR:
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-YYFUnW/psycopg2/
What exactly does that mean, and how do I fix it? I already tried these commands:
apt-get install python-bs4
sudo install --upgrade setuptools
sudo apt-get update
Error Image :
This error can occur because of the version of psycopg2==2.6.2 you are trying to install. I did face this error while installing this version of psycopg2. So to avoid this error, you can use another version of it or the latest version as:
pip install psycopg2
Also, psycopg2 is going to be renamed from release of version 2.8, so it is recommended to install it using:
pip install psycopg2-binary
If you are installing psycopg2 from a requirements.txt file, you can comment out the package listed in the file as:
# psycopg2==2.6.2
Then install the package as suggested above, then install other requirements from the file with the package name still commented.

How can I install autopep8 tool in Spyder in Anaconda?

I have Anaconda2, which come with Spyder.
I want to install an autopep8 for Spyder but I don't know which and how
Normally you can install it using:
pip install spyder.autopep8
So in anaconda (apparently there is no conda build for sypder.autopep8 ) so you just need to make sure you have pip installed in your conda environment and then use pip to install it:
conda install pip
pip install spyder.autopep8
or if you want to install it directly from the github repo:
pip install git+ssh://git#github.com/spyder-ide/spyder-autopep8
If you install directly from git, there is not way for it to give you a distribution not found error.
After that do shift+F8 in spyder to autopep8.
Otherwise, if you are using a .yml file for your conda environment, you just need to add
- pip
- pip:
- git+ssh://git#github.com/spyder-ide/spyder-autopep8
to your environment file and then run
conda env update -f environment.yml
from the command line.

Installing MySQL-python for Django

I've just learned how to use virtualenv and I installed Django 1.4.5. I'm assuming that the virtualenv created a clean slate for me to work on so with the Django 1.4.5 installed, I copied all my previous files into the virtualenv environment.
I tried to run the server but I get an error saying "no module named MySQLdb". I think this means that I forgot to install MySQL-python. I tried to install it via
pip install MySQL-python
But I get this error
Downloading/unpacking MySQL-python
Running setup.py egg_info for package MySQL-python
The required version of distribute (>=0.6.28) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U distribute'.
(Currently using distribute 0.6.24 (/home/bradford/Development/Django/django_1.4.5/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg))
Complete output from command python setup.py egg_info:
The required version of distribute (>=0.6.28) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U distribute'.
(Currently using distribute 0.6.24 (/home/bradford/Development/Django/django_1.4.5/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg))
----------------------------------------
Command python setup.py egg_info failed with error code 2 in /home/bradford/Development/Django/django_1.4.5/build/MySQL-python
Not quite sure how to go about fixing this problem =/ any help much appreciated!
I recently had exactly this issue (just not in relation to Django). In my case I am developing on Ubuntu 12.04 using the default pip and distribute versions, which are basically a little out of date for MySQL-python.
Because you are working in an isolated virtualenv, you can safely follow the suggested instruction without affecting your Python installation.
So you can...
workon your_virtualenv #activate your virtualenv, you do use virtualenvwrapper, right?
easy_install -U distribute #update distribute on your virtualenv
pip install MySQL-python #install your package
If for some reason upgrading distribute is not an option, you could try installing an older version of MySQL-python as follows (you'd have to check this version is compatible with your version of Django):
pip install MySQL-python==x.y.z #where x.y.z is the version you want
Spent an hour looking through stackoverflow. Evntually found answer in the other question. This is what saved me:
sudo apt-get install libmysqlclient-dev
mysql_config goes with the package.
When doing in a virtualenv :
pip install MySQL-python
I got
EnvironmentError: mysql_config not found
To install mysql_config, as Artem Fedosov said, first install
sudo apt-get install libmysqlclient-dev
then everything works fine in virtualenv
MySQL driver for Python (mysql-python) needs libmysqlclient-dev. You can get it with:
sudo apt-get update
sudo apt-get install libmysqlclient-dev
If python-dev is not installed, you may have to install it too:
sudo apt-get install python-dev
Now you can install MySQL driver:
pip install mysql-python
Here is a more detailed documentation for MySQL in Django:
http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/
I had to do this:
pip install mysql-python
inside the virtualenv
The commands are always run in ubuntu:
easy_install -U distribute
later
sudo apt-get install libmysqlclient-dev
and finally
pip install MySQL-python
The suggested solutions didn't work out for me, because I still got compilation errors after running
`$ sudo apt-get install libmysqlclient-dev`
so I had to run
apt-get install python-dev
Then everything worked fine for me with
apt-get install python-dev
Try this:
Version Python 2.7
MySQL-python package, you should use either MySQL_python‑1.2.5‑cp27‑none‑win32.whl or
MySQL_python‑1.2.5‑cp27‑none‑win_amd64.whl depending on whether you have installed 32-bit or 64-bit Python.
pip install MySQL_python‑1.2.5‑cp27‑none‑win32.whl
if you are using mysqlclient package, then use
mysqlclient‑1.4.6‑cp27‑cp27m‑win32.whl or
mysqlclient‑1.4.6‑cp27‑cp27m‑win_amd64.whl
pip install mysqlclient‑1.4.6‑cp27‑cp27m‑win32.whl
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

django_auth_ldap no module named ldap

I am trying to get the django_auth_module working but I don't think I managed to install it properly.
I downloaded the package and ran setup.py install.
Then in my settings.py file I tried to import the module ldap and it gave me the following error :
ImportError: no module named ldap
I am working on a CentOS 6 server.
Maybe it has to do with where I should install the module? The folder is in the directory just above my site folder, but maybe that's wrong...
RESOLVED :
Ok, I just needed to install the module python-ldap... problem solved!
Install missing module
Hint: To install python-ldap with pip on Ubuntu, some libraries are needed.
Use the apt-get commands to install them.
Python 2
sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
sudo pip install python-ldap
Python 3
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
sudo pip3 install pyldap
Try the below command to install for Python3.
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
sudo pip3 install pyldap