Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何制作基于命令行的库,如pip或conda_Python_Command Line_Pip - Fatal编程技术网

Python 如何制作基于命令行的库,如pip或conda

Python 如何制作基于命令行的库,如pip或conda,python,command-line,pip,Python,Command Line,Pip,通常,python库(如numpy或matplotlib)与.py脚本中的“import numpy”一起使用,然后我们调用导入的函数 但是,有些库(如“pip”或“anaconda”)不是在脚本中导入的,而是基于命令的:使用参数和选项(如“pip install[options][which]”从终端调用 今天我安装了一个库,我花了一段时间才意识到它是基于命令的,如果我只是运行其中包含的脚本“main.py”,它就无法工作 我的问题是:这两种库之间的根本区别是什么?如何学习创建基于命令的库 基

通常,python库(如numpy或matplotlib)与.py脚本中的“import numpy”一起使用,然后我们调用导入的函数

但是,有些库(如“pip”或“anaconda”)不是在脚本中导入的,而是基于命令的:使用参数和选项(如“pip install[options][which]”从终端调用

今天我安装了一个库,我花了一段时间才意识到它是基于命令的,如果我只是运行其中包含的脚本“main.py”,它就无法工作

我的问题是:这两种库之间的根本区别是什么?如何学习创建基于命令的库

基本上我只是想了解他们,但我甚至不知道从哪里开始我的研究

我想经营一个像“图书馆…”这样的图书馆

这里有一个很大的误解
pip
既是一个命令行脚本,也是一个库

脚本位于
bin/pip
,例如
/usr/bin/pip
(在w32上是
Scripts\pip

该库位于
sys.path
中的某个位置,可能位于
站点包/pip
中,例如
/usr/lib/python3.8/site包/pip/

当然,命令行脚本是用Python编写的。此
main.py
由转换为脚本
pip


如果要执行相同的操作(创建用于导入库的命令行脚本),则必须执行相同的操作。创建一个库和一个或一个。这是否回答了您的问题?我不想从命令行运行函数,比如“python…”。我想经营一个像“图书馆…”这样的图书馆。同样,您不直接键入“python-pip-install”,而是直接键入“pip-install”。问题是pip是一个包管理器应用程序,因此您不需要使用“python-pip”,因为python不是pip的依赖项,因为pip是一个独立的可执行程序,它的路径被添加到环境变量中,使得它可以从命令行访问。当python脚本需要“python…”时,因为python解释器是必需的依赖项。我不确定像pip这样的软件包到底是如何工作的,但据我所知,我会编写一个批处理文件来运行包,然后该包将进入类似于python解释器的命令模式。此外,您可以给批处理一个别名,这样就可以使用“libName”调用“libName.bat”,方法是:doskey libName=libName.bat NB:别忘了将批处理文件目录添加到路径中环境变量。