

Even adding a symlink to the specific libraries needed will not be sufficient enough to solve the problem.Īs I mentioned in the introduction, you can use Docker to containerize your application and ultimately install psycopg2. openssl, libpq, and other TLS/SSL packages will not be sufficient substitutes for the lack of SSL support for Python. If you install psycopg2 with this configuration, you will likely run into architectural issues with arm64.Īvoid using Homebrew or anything that was installed with Homebrew.

It should look like the following:Įnter fullscreen mode Exit fullscreen mode The default location for my installation was /Library/PostgreSQL/14, so I just used that. At the time of writing, the most recent version, PostgreSQL 14, looks like it has the most support for the M1 Mac architecture. Download the postgreSQL installation from the official website.Optionally, you can also install PostgreSQL on your M1 mac as well. To test your new installation, run python3 -version in a fresh terminal. Once it's finished, if you check your Applications, you should have your new version of python there. At the time of writing, I was downloading python 3.10.4 so look around to see if there is an even more updated version. Download the latest version of python from the python website.Uninstall pyenv, pipx, and all other versions of python except your system's python.It turns out that the solution was the most vanilla installation I've done since I started using my M1 Mac Air. I tried many solutions that may have worked for others somehow, but ultimately did not work me.

I'm a bit older and wiser now, so when faced with the same problem for my current project, I dug around all day today figuring out how to install psycopg2 in an M1 Mac environment. I remember a year ago, when I could not solve this problem for a different project so I ended up using a Docker container to emulate a simple linux environment to use psycopg2.
