簡體   English   中英

如何使用 Pip (OS X) 在虛擬環境中安裝 Python 包

[英]How to install a Python package inside a virtual environment with Pip (OS X)

編輯:我將結束這個問題,因為它發生的原因與我最初的假設不同,重新提出這個問題會更清楚:

Pip 使用 virtualenv 在錯誤的目錄中安裝軟件包

接受的答案並沒有直接回答原始問題,而是一個非常有用的概述。


根據下面的討論,問題是即使在

$ source ~/PycharmProjects/Practice/venv/bin/activate 
$ pip install numpy 

numpy 安裝在/usr/local/lib/python2.7/site-packages
這可能是什么原因?

原來的:

通過 Homebrew 在 OS X 上使用 Python:

我一天中的大部分時間都在嘗試解決這個問題,但要么我must supply either home or prefix/exec-prefix -- not both錯誤,要么我嘗試安裝的包完全錯誤的地方:

$ pip3 --version
pip 18.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ cd venv
$ pip3 install numpy
..... [snip with following error:]
"must supply either home or prefix/exec-prefix -- not both")

使用這個提示

$ pip3 install numpy -t . 

然后我得到一個新的錯誤,

`Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/.../pip-install-0fvveq3v/package/'

搜索 SO 提供了涉及pip install setuptools 的各種可能性。 但是pip install會拋出上述錯誤或安裝在錯誤的位置。 即解決方案首先涉及導致錯誤的東西。

我嘗試使用 Python.org 安裝程序,但它根本沒有安裝 pip。 (自定義安裝程序顯示該選項已選中但大小為零)。

這個不錯的教程提供了介紹性概述。 這是一個很好的總結,更詳細。 但是,如果您在創建后重命名移動虛擬環境目錄,它可能會破壞它。 從頭開始創建一個新的: $ cd ~/PycharmProjects; python3 -mvenv newenv $ cd ~/PycharmProjects; python3 -mvenv newenv ; 激活: $ source newenv/bin/activate ; 安裝一些東西: $ pip install colorama (僅當 venv 激活時與pip3 install相同); 檢查: ls ~/PycharmProjects/newenv/lib/python3*/site-packages 停用: $ deactivate

那么你可以為 Pycharm 嘗試這個解決方案: 如何將虛擬環境與 pycharm 中的 python 項目相關聯 PyCharm 確實與可以自定義的virtualenv捆綁在一起,請查看 Pycharm 特定的資源:在 Pycharm 中創建虛擬環境安裝包

如果你已經安裝了 PyPI 的主流virtualenv ,默認情況下它會使用安裝virtualenv的 python 解釋器創建新環境。 但是可以在創建新環境時指定備用 Python 解釋器: $ virtualenv -p python3.7 newenvname

關於錯誤DistutilsOptionError: must supply either home or prefix - 請檢查這個這個以獲得解決方案。 此處描述了python 和 pip 之間的自制映射。 正常的pip install --user在自制的 Python 中被禁用,但有解決方法。 MacOS系統 Python不提供pip ,但它可以手動安裝、重新安裝或升級任何特定的 Python 版本。 原始非釀造安裝程序也可用於所有 Python 版本: https : //www.python.org/downloads/mac-osx/

默認情況下沒有pip.conf ,但可以手動創建以自定義內容。 所有可能pip.conf位置(每用戶,每VENV,和全球/全系統的,以及它們是如何相互覆蓋)在這里列出 如果有人遇到問題,他們可以使用pip config list命令查看他們的活動配置,或者locate pip.conffind它。

最后,您可能希望確保您沒有針對 macOS 的系統 python 使用pip Shell 命令,例如$ brew info pythonwhich pipwhich pip3pip3 -Vwhich python3可以幫助您查看實際使用的內容。 由於 macOS 默認 $PATH 曾經是/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin ,股票 macOS 二進制文件(包括 python)可能優先於一些自制安裝(包括Python)。 如果是這樣,如果需要,可以通過~/.bashrc導出自定義 PATH。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM