pip install没有,但是python -m pip install确实

时间:2016-01-10 21:29:55

标签: python python-3.x pip

我对以下行为感到困惑。我在Windows 7上安装了Python 3.4.Pip安装了Windows发行版 当我尝试安装virtualenv(或任何其他包)或执行任何其他命令时,没有任何反应:

C:\Python34\pip install virtualenv
(nothing happens)
C:\Python34\pip list
(nothing happens)

然而,python -m变体确实有效。

C:\Python34\python -m pip install virtual env
C:\Python34\python -m pip list

我知道Installing Packages部分中的Python包装用户指南说使用python -m pip install [package name]。但是,'pip install [包名]是否也有效? 我在a previous post中发现他们做了同样的事情,为什么行为会有所不同?

2 个答案:

答案 0 :(得分:1)

pip安装在Scripts subdir。

尝试C:\Python34\Scripts\pip -V查看您正在投放的内容。

C:\>C:\Python34\Scripts\pip -V
pip 7.1.2 from C:\Python34\lib\site-packages (python 3.4)

否则您的pip.exe进程可能会被正在运行的防病毒软件阻止。

答案 1 :(得分:0)

(以Radek的答案为基础)使用pip(和脚本中的类似脚本)有两个问题。第一个是启用操作系统来查找文件。您必须提供正确的绝对路径,或者.../Pythonxy/Scripts必须在PATH上。我认为安装后者是正确的。

如果您确实输入了所发布的内容,我很惊讶Windows没有响应Win 7版本的" c:\programs\python35\pip未被识别为内部或外部命令,可操作程序或批处理文件。 " (来自我的Win 10机器)。

第二个,当安装了多个版本的Python时,运行哪个pip的模糊性(使用哪个python二进制文件)。即使所有Python安装都具有相同的pip版本,也必须使用其site-packages目录是预期目标的版本运行。即使命令行中的pip install xyz运行,也可能会或可能不会执行预期的操作。

这两个问题的可靠解决方案是指定特定的python二进制文件(无论是.../python.exepythonpython2python3还是py -x.y,让这个二进制文件找到它的点,然后将它指向“#”网站包。