M 1のMacにScicopg 2をインストールする方法


TL博士:解決策


内容

  • Introduction
  • The Solution
  • Avoid These Potential Solutions
  • Workarounds
  • Conclusion
  • 導入


      私は1年前、私は別のプロジェクトのためにこの問題を解決することができなかった覚えているので、私は使用する単純なLinux環境をエミュレートするためにDockerコンテナを使用してpsycopg2 . 私は少し古くて、より賢いです、それで、同じ問題に直面するとき、私は今日、インストールする方法を考え出して、一日中まわりで掘りましたpsycopg2 M 1 MAC環境で.私はどうにか、他のもののために働いたかもしれない多くの解決を試みました、しかし、結局、私を働かせませんでした.私が私のM 1 MAC空気を使い始めた時から、解決が私がした最もバニラインストールであることがわかります.

    解決策

  • アンインストールするpyenv , pipx , その他のすべてのバージョンpython あなたのシステムのPythonを除いて.
  • から最新バージョンのPythonをダウンロードしてくださいpython website . 書き込みの時、私はPythonをダウンロードしていました3.10.4 だから、さらに更新されたバージョンがあるかどうかを確認してください.
  • インストーラを実行します.一旦終了したら、アプリケーションをチェックするなら、そこにPythonの新しいバージョンがあるはずです.新しいインストールをテストするにはpython3 --version 新鮮なターミナルで.
  • ランpip3 install psycopg2-binary
  • 任意の手順


      必要に応じて、あなたのM 1のMacにもPostgreSQLをインストールすることができます.
  • からPostgreSQLのインストールをダウンロードしてくださいofficial website . 書き込みの時点で、最新のバージョンでは、PostgreSQL 14は、M 1のMacアーキテクチャのための最もサポートをしているように見えます.
  • インストールウィザードを実行します.インストールのデフォルトの場所は/Library/PostgreSQL/14 , それで、私はちょうどそれを使いました.
  • PostgreSQLのbinをパスに追加します.zshrc ファイル.次のようになります.
  • export PATH="/your/path/to/PostgreSQL/14/bin:\$PATH"
    
      あるいは、あなたのインストールが私のものと同じフォルダで作られたならば、あなたはこのコマンドを使うことができます:
    echo 'export PATH="/Library/PostgreSQL/14/bin:$PATH"' >> ~/.zshrc
    
  • 新しい端末を開き、実行するpg_config コマンドラインで.あなたの設定が来るはずです.
  • あなたのDjangoアプリケーションを開始するには、PostgreSQLを提供していますbrief tutorial , これは実際に後で設定の初期SQLiteデータベースを置き換えているときに便利です.
  • これらの潜在的解決を避ける


      バージョンマネージャの使用を避けるpyenv or asdf . インストールするならpsycopg2 この設定では、おそらく問題があるでしょうarm64 .
      避けるHomebrew または、Homebrew . openssl , libpq , そして、他のTLS/SSLパッケージはPythonのためのSSLサポートの不足のための十分な代用品でありません.必要な特定のライブラリにシンボリックリンクを追加しても、問題を解決するのに十分ではないでしょう.

    回避策


      私が言及したようにintroduction , Dockerを使用してアプリケーションを格納し、最終的にインストールできますpsycopg2 . しかし、それは簡単ではない、または最速のソリューションです.あなたがこのようにしなければならないならば、ここで私があなたが始めるのを援助するために働いていたGithubプロジェクトへのいくつかの役に立つリンクをここで見てください.
  • My Tutorial of getting started with Docker
  • My Dockerfile used for the Django Backend
  • My docker-compose.yml file used for the Frontend and Backend
  • 結論


      私は、これが助けることを望みます.アップルのM 1チップは、昨年の開発者コミュニティからのサポートのトンを受けていると思われる、それは私に私のMacの空気を販売する傾向が少ないFramework laptop .
      私は、アップルがサードパーティのパッケージマネージャやバージョンマネージャの必要性を排除したいと考えているHomebrew , and pyenv and asdf , それぞれ.Xcodeがインストールされていない場合は、最新の更新プログラムは、モンテレー12.3、特にサードパーティのプログラムに敵対的です.It's not impossible to install and use 3rd-party applications but there will be security pop-up that needs a little more than a password to get around. .