lmi*_*asf 9 python pip python-3.x
我正在尝试使用pip和python3安装一些软件包.我正在使用MacOS,所以默认情况下,当我运行pip时,它使用的是我的Python 2版本.
我已经能够使用以下命令在python 3中安装包:
$ pip3 install package_name
Run Code Online (Sandbox Code Playgroud)
但是,我能够做到这一点(至少看起来像):
$ python3 -m pip install package_name
Run Code Online (Sandbox Code Playgroud)
我不知道是否pip3和python3 -m pip有同样的效果.
Jam*_*hra 11
其他答案在技术上是正确的,但有点不清楚为什么Python 同时具有pip3和python3 -m pip:
如果您的计算机上安装了多个 Python,则使用pip3全局安装包可能会不明确。
许多人在升级计算机操作系统后最终会安装多个 Python。操作系统升级通常会安装新的 Python,但不会冒清除旧 Python 和破坏计算机上现有程序的风险。
由于这些原因,在我自己的计算机上,我总是安装特定版本,例如:python3.8 -m pip。当我编写 Makefile 或构建脚本以分发给其他人时,我默认python3 -m pip但让用户选择替换python3为他们自己的解释器路径。
他们是一样的.如果查看bin文件夹中的pip3文件,它将main从pip模块调用该函数.
pip3 install package_name 在bin文件夹中运行pip3文件:
# bin/pip3
# or bin/pip if using pip install package_name
import re
import sys
from pip import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(main())
Run Code Online (Sandbox Code Playgroud)
python3 -m pip install package_name运行pip模块的__init__.py文件.
# pip/__init__.py
if __name__ == '__main__':
sys.exit(main())
Run Code Online (Sandbox Code Playgroud)
它们都运行相同的main()功能
正如@tihorn所说,pip3和python3 -m pip 应该是一样的。至少有一个例外:如果它们不在同一路径上。我有以下设置:
$ which pip3
/usr/bin/pip3
$ which python3
/home/username/anaconda3/bin/python3
Run Code Online (Sandbox Code Playgroud)
使用 pip3 安装模块并使用 验证后,我在运行或pip3 freeze时无法访问它们。我收到一个错误。python3 my_script.pypython3 -c 'import my_module'ModuleNotFound
| 归档时间: |
|
| 查看次数: |
5568 次 |
| 最近记录: |