web-dev-qa-db-ja.com

Mac OS Catalinaの新規インストールでのpip3およびpipenvの問題

最初に使用してxcode開発ツールをインストールしました

%xcode-select --install

次に、私はHomebrewをインストールしました

/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

それから私はやった

%brew install python3

%pip3 install pipenv

しかし私が電話したとき

%pip3

私は得る

% pip3
Traceback (most recent call last):
  File "/Library/Developer/CommandLineTools/usr/bin/pip3", line 10, in <module>
    sys.exit(main())
TypeError: 'module' object is not callable

これは私のpip3とpython3が配置されていると言っているところです

% which pip3
/usr/bin/pip3

% which python3
/usr/bin/python3

誰かがこの問題を解決するのを手伝ってくれませんか?私はプログラミングを学ぼうとしていますが、これを修正しないと続行できません

2
MRS_ROBOT

MacOS Catalinaには独自のバージョンのpython3pip3が同梱されているため、macOSとBrewでインストールされたPythonライブラリの間で競合が発生している可能性があります。 Pythonに関連するものにBrewを使用しないことで、同様の問題を解決しました。

私の推奨事項:Catalinaの新規インストールからSudo pip3 install pipenvを実行します。作業するプロジェクトごとに個別のディレクトリを作成し、作業するたびにそのディレクトリからpipenv Shellを実行します。システム全体にパッケージをインストールしたり、macOSのPythonを上書きしたりしないでください。あなたがすることは何でも、Pipenvが管理する仮想環境内で行います-pipenv install <pkg>経由でのみパッケージをインストールします。

これをすべて行うと、各プロジェクトのPythonバイナリの適切なバージョンとすべての関連パッケージが~/.local/share/virtualenvs/内のディレクトリ内に保持されます。このようにして、将来のmacOSアップデートはすべての依存関係を壊す必要はありません。

4
Mickey Ristroph

カタリナにアップグレードした後、すでに自作を使用していて、Python/pipenvが期待どおりに動作しなくなったため、同様の問題が発生しました。私のPythonは毎回クラッシュしました、pipenv installを実行したところ、この developer.Apple.comスレッド で説明されているエラーが発生しました。 Mickey Ristroph は大丈夫な回避策のように聞こえますが、実際には問題を解決しません。

Pythonを含め、MacOSにインストールされたすべてのソフトウェアで自作を使用できるようにしたい。しかし、問題は間違ったバージョンlibcrypto dylibバージョンの使用であったため、助けがありました。この問題を修正するには、brewパッケージを更新してアップグレードし、opensslがインストールされていることを確認します。

brew update && brew upgrade && brew install openssl

次に、homebrewがインストールされたlibssl.dylibおよびlibcrypto.dylibライブラリへの新しいシンボリックリンクを作成します。

# go to homebrew installed openssl dir:
cd /usr/local/Cellar/openssl/1.0.2t/lib
Sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/local/lib/

cd /usr/local/lib
# if there are links already, you may backup them:
mv libssl.dylib libssl_bak.dylib
mv libcrypto.dylib libcrypto_bak.dylib

# now create new symbolic links:
Sudo ln -s libssl.1.0.0.dylib libssl.dylib
Sudo ln -s libcrypto.1.0.0.dylib libcrypto.dylib

これで私の自作のインストールされたPython(およびpipenv)は再び魅力のように機能します。

1
jonashackt

ライブラリのインストールに使用するrawコマンドとmacOS Catalinaのサポートを次のように変更する必要があります。

python3 -m pip install pipenv  

(の代わりに pip3 install pipenv

0
vijay9908