【问题标题】:Installing Python command line script安装 Python 命令行脚本
【发布时间】:2018-03-23 09:48:14
【问题描述】:

我正在尝试了解如何使用命令行脚本安装 Python 包。我的意思是安装一个包,例如pip install package 然后能够在任何目录中运行 package,即 package 应该在我的路径上。

我正在关注this guide,它创建了一个最小的工作示例,您使用pip install . 安装包。

这里有两种选择,一种是在entry_points 中使用console_scripts,另一种是使用scripts 并创建一个bin 文件夹并将可执行脚本放入其中。更详细:

第一种方法:scripts

添加目录bin,与funniest 包在同一目录中。所以:

funniest/
    __init__.py
    text.py
bin/
    funniest-joke

funniest-joke 文件是

#!/usr/bin/env python

import funniest
print(funniest.joke())

setup.py 中,添加scripts=['bin/funniest-joke'] 作为setup 函数调用中的参数。

第二种方法:console_scripts

text.py__init__.py旁边添加一个command_line.py文件,即

import funniest

def main():
    print funniest.joke()

setup.py 中,将此作为参数添加到setup 函数调用中:

entry_points={
    'console_scripts': [
        'funniest-joke = funniest.command_line:main'
    ],
},

问题是我无法让其中任何一个工作。软件包安装得很好,但我的路径上没有可执行文件,它甚至似乎没有在任何/bin/ 目录中放置任何东西。我的路径上应该有一个funniest-joke,但没有。

有关信息: 我使用的是安装了 miniconda 的 Python,它位于 ~/miniconda3/,所以我用来安装软件包的 pip 位于 ~/miniconda3/bin,而 Python 也是 ~/miniconda3/bin 的那个。

包(funniest)安装到/miniconda3/lib/python3.6/site-packages/funniest

我的路径包含以下目录。

/bin/
/usr/local/bin/python
/Users/USERNAME/miniconda3/bin
/usr/local/bin
/usr/bin

有人可以帮助我吗?

【问题讨论】:

  • 所以你基本上是从之前激活的 conda 环境中运行 Python 脚本。运行您希望能够安装的 python 脚本,例如 wget。通常你会做 pip install wget 在这里,如果我理解得很好,你想从 python 以编程方式来做,对吧?
  • @Pitto 不,如果我理解正确的话,它实际上不在任何环境中。我刚刚安装了 Python 的 miniconda 发行版,而不是使用内置 (macOS) Python 或 Homebrew Python。我想 conda 充当包管理器。至于第二点:我看不清楚。我的意思是我想做类似于pip install wget,然后能够从命令行运行wget(在任何目录中)。
  • @Pitto 我在第一段中添加了一些说明。清楚了吗?
  • 您提到了脚本的两种方法(entry_points 或 bin 目录中的脚本),但您没有说明您要遵循哪种方法。对于前者,如何定义setup.py 至关重要。如果您想使用该方法,请包含您当前 setup.py 的一些详细信息。啊,不过在此之前,请明确您要使用哪条路线!
  • @Bonlenfum 哦,对不起。我做了与教程中完全相同的事情。我会在帖子中添加它。

标签: python command-line packages conda miniconda


【解决方案1】:

在终端输入时:
哪个蟒蛇

该示例将向您显示您正在使用的默认 python 的位置。
根据你所说的,你的结果可能是。
/Users/USERNAME/miniconda3/bin/python

话虽如此,如果您输入:
哪个
对于任何可执行文件,终端都会显示它的安装位置。
我希望这会有所帮助。

【讨论】:

  • 我想这不是很清楚。 pythonpip 都位于 miniconda3/bin
【解决方案2】:

你不需要按照路径在 python 中安装包。 但是你需要按照这种方式 1.首先在pc上安装python 2.简单的打开命令提示符然后输入 pip install (---python 包名----) 3. 然后按 Enter 按钮,但确保互联网可用。

【讨论】:

  • 很抱歉,这不是很有帮助,很遗憾。您要回答的问题是如何安装 PyPi 上的软件包。