为什么Python中的“pip install”引发了一个SyntaxError?

时间:2011-12-17 21:23:32

标签: python pip install

我正在尝试使用pip来安装软件包。我尝试从Python shell运行pip install,但我得到了SyntaxError。为什么我会收到此错误?如何使用pip安装软件包?

>>> pip install selenium
              ^
SyntaxError: invalid syntax

9 个答案:

答案 0 :(得分:250)

pip是从命令行运行的,而不是Python解释器。这是一个安装模块的程序,因此您可以从Python中使用它们。安装模块后,就可以打开Python shell并执行import selenium

Python shell不是命令行,它是一个交互式解释器。您在其中键入Python代码,而不是命令。

答案 1 :(得分:89)

使用命令行,而不是Python shell(Windows中的DOS,PowerShell)。

C:\Program Files\Python2.7\Scripts> pip install XYZ

如果您使用最新的安装程序将Python安装到PATH中,则无需在该文件夹中运行pip

Mac或Linux中的终端

$ pip install XYZ

答案 2 :(得分:55)

更新自pip版本10.x 以来get_installed_distributions() 下不再有mainimport pip方法而是使用 import pip._internal as pip

UPDATE ca. v.18 get_installed_distributions()已被删除。相反,你可以像这样使用生成器freeze

from pip._internal.operations.freeze import freeze

print([package for package in freeze()])

# eg output ['pip==19.0.3']

<小时/> 如果你想在Python解释器中使用pip,试试这个:

import pip

package_names=['selenium', 'requests'] #packages to install
pip.main(['install'] + package_names + ['--upgrade']) 
# --upgrade to install or update existing packages

如果您需要更新每个已安装的软件包,请使用以下命令:

import pip

for i in pip.get_installed_distributions():
    pip.main(['install', i.key, '--upgrade'])

如果您想在任何安装失败时停止安装其他软件包,请在一次pip.main([])电话中使用它:

import pip

package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])

注意:使用-r / --requirement参数从文件列表安装时,您不需要open()函数。

pip.main(['install', '-r', 'filename'])

警告:一些简单的--help参数可能导致python解释器停止。

好奇心:通过使用pip.exe,您实际上仍然使用python解释器和pip模块。如果解压缩pip.exepip3.exe,无论它是python 2.x还是3.x,内部都是SAME单个文件__main__.py

# -*- coding: utf-8 -*-
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())

答案 3 :(得分:48)

要在Python 3.x中运行pip,只需按照Python页面上的说明进行操作:Installing Python Modules

python -m pip install SomePackage

请注意,这是从命令行而不是python shell运行的(原始问题中语法错误的原因)。

答案 4 :(得分:3)

最初,我也遇到了同样的问题,我安装了python,当我运行pip命令时,它常常向我抛出一个错误,如下图所示。

enter image description here

确保在环境变量中添加点路径。对我来说,python和pip的安装路径是::
Python:C:\Users\fhhz\AppData\Local\Programs\Python\Python38\
点:C:\Users\fhhz\AppData\Local\Programs\Python\Python38\Scripts
这两个路径都已添加到环境变量的路径中。

现在打开一个新的cmd窗口并输入pip,您应该会看到如下屏幕。

enter image description here

现在输入pip install <<package-name>>。此处,我正在安装软件包spyder,因此我的命令行语句将为pip install spyder,然后进入运行屏幕。

enter image description here

我希望我们已经完成了!!

答案 5 :(得分:1)

如果您是从命令行执行此操作,

尝试-

python -m pip 安装硒

或(适用于 Python3 及以上)

python3 -m pip 安装硒

答案 6 :(得分:0)

您需要在cmd中而不是在IDLE中键入它。因为如果要从IDLE安装某些内容,则IDLE不是命令提示符,请输入

public String getRequestString(Class clazz, Object o) {
        StringBuilder queryStringBuilder = new StringBuilder();
        final Map<String, String> queryParams = new LinkedHashMap<>();

        try {
            for (Field f : clazz.getDeclaredFields()) {
                f.setAccessible(true);
                queryParams.put(f.getName(), String.valueOf(f.get(o)));
            }
            for (Map.Entry<String, String> entry : queryParams.entrySet()) {
                queryStringBuilder.append(testStringUtils.toSnakeCase(entry.getKey()));
                queryStringBuilder.append("=");
                queryStringBuilder.append(entry.getValue());
                queryStringBuilder.append("&");
            }
            logger.info("Map: " + queryParams);
        } catch (Exception e) {
            e.printStackTrace();
        }
        final String queryString = queryStringBuilder.toString();
        logger.info("Query string : " + queryString.substring(0, queryString.length() - 1));
        return "?" + queryString.substring(0, queryString.length() - 1);

这是在终端中调用>>>from pip.__main__ import _main as main >>>main(#args splitted by space in list example:['install', 'requests']) 之类的pip。这些命令将由您要在其中执行的空格分隔。

答案 7 :(得分:0)

以编程方式,以下当前有效。我看到10.0和所有之后的所有答案,但没有一个对我来说是正确的路径。当然,在Kaggle中,这种方法有效

from pip._internal import main as _main

package_names=['pandas'] #packages to install
_main(['install'] + package_names + ['--upgrade']) 

答案 8 :(得分:-2)

尝试使用以下命令升级pip,然后重试

python -m pip install -U pip