cygwin中找不到autopep8

问题描述 投票:1回答:1

如果我尝试在cygwin(64位,WINdows10)中使用autopep8,则会收到消息“找不到命令”。

$ autopep8
-bash: autopep8: command not found

我试过pip install autopep8,但也找不到pip,只有pip2和pip3。如果我使用python -m pip install autopep8,它可以正常工作,所以我可以调用

python -m autopep8

但是我想运行只调用autopep8的脚本:

if ! type -p autopep8 >/dev/null; then
    echo "autopep8 not found" >&2
    autopep8() {

任何想法如何解决这个问题?

cygwin autopep8
1个回答
0
投票

首先,必须将PyPi软件包安装到正确的Python安装中,然后,必须将相同的软件包安装到要在其中使用它的每个Python安装中。

现在,有关在Cygwin上安装Python的特别说明。您可以选择安装多个Python版本,以及数十种与每个版本一起使用的软件包。除非您有明确定义的原因,否则请避免使用Python版本2,因为它是生命周期结束后发布的。而是安装Python 3的其中一个版本。到目前为止,版本3.6和3.7具有更完整的可选软件包集。可以使用3.8 beta 4版本。

对于我安装的Python 3.8,我使用Cygwin设置应用安装了以下软件包:Python38(Py3K语言解释器),Python38-pip(Python软件包安装工具),Python38-setuptools(Python软件包管理工具),Python38- virtualenv(创建隔离的Python环境)和Python38-wheel(Python封装格式模块)。要编写X11 GUI应用程序,请添加Python38-tkinter(Py3K Tkinter GUI模块)。要安装二进制软件包,请添加Python38-devel(Py3K语言解释器)。

您将能够从PyPI安装纯Python软件包。要安装二进制软件包,您还需要安装GNU编译器工具链,并且您将需要自行处理与其他Cygwin软件包的依赖关系。

Python 3.6和3.7安装具有附加软件包,在许多情况下,这些软件包包含已解决上述依赖关系的二进制软件包,或者对Cygwin环境进行了一些有用的自定义。

Cygwin同时具有Python 2和Python3。从今天开始,安装后,您将通过python执行Python 2,并通过python3执行Python 3。请小心执行哪个Python,因为您可能会在路径中获得Windows版本的Python(如果已安装)。 which python将始终告诉可执行文件在哪里,python -V等将告诉您正在运行哪个版本。通常,您只希望从bash提示符运行Cygwin版本的Python,而仅从命令提示符或Windows GUI运行Windows版本的Python。

使用pip的最安全方法是为您选择的Python可执行文件使用模块版本,即python -m pip等。这避免了必须记住也要在Python中使用pip和在Python3中使用pip3。

© www.soinside.com 2019 - 2024. All rights reserved.