跳转到主要内容

运行pip从Python交互式外壳(即REPL)安装软件包。

项目描述

Pip From REPL

更新:此模块不再必要。我现在推荐使用单行import pip; pip.main(['install', 'module_name_here'])模块来从交互式外壳安装模块,而不是使用pipfromrepl。此代码更容易记住,且在Python 2.7和3.5+版本上工作。唯一缺点是它不适用于Python 3.4,在这种情况下,请使用下面的说明。然而,在2023年,使用3.4版本的学生数量几乎不存在,因此这不太可能成为问题。

Pipfromrepl运行pip从Python交互式外壳(即REPL)安装软件包。

如果您正在领导编程研讨会,并希望避免从学生的机器上运行pip(带有所有可能的配置环境)带来的麻烦,pipfromrepl提供了一套单一的指令,以便快速正确地安装软件包。

pipfromrepl的优势在于用户不需要了解如何导航命令行或设置他们的PATH环境变量。如果安装了多个Python版本,pipfromrepl将使用当前正在运行的交互式外壳关联的pip模块。pipfromrepl的目标是减少学生在其计算机上安装Python软件包所需采取的步骤数量。

pipfromrepl旨在协助学生和教师。在生产环境中可能没有必要依赖它。

安装

要从REPL安装pipfromrepl,请将以下内容复制并粘贴到REPL中

import subprocess, sys; subprocess.run([sys.executable, '-m', 'pip', 'install', 'pipfromrepl'])

pipfromrepl可以在Python 2.7和Python 3.4+上运行。Linux用户可能需要通过终端运行sudo apt-get install python3-pip来单独安装pip。

快速入门指南

安装pipfromrepl后,运行import pipfromrepl

>>> import pipfromrepl

调用pipfromrepl.install()从PyPI安装一个包

>>> pipfromrepl.install('pymsgbox')
Collecting pymsgbox
  Using cached PyMsgBox-1.0.9-py3-none-any.whl
Installing collected packages: pymsgbox
Successfully installed pymsgbox-1.0.9

调用pipfromrepl.list()列出已安装的包

>>> pipfromrepl.list()
Package     Version Editable project location
----------- ------- -------------------------
pip         22.3.1
pipfromrepl 0.1.0   C:\github\pipfromrepl
PyMsgBox    1.0.9
setuptools  65.5.1
wheel       0.37.1

调用pipfromrepl.uninstall()卸载一个包

>>> pipfromrepl.uninstall('pymsgbox')
Found existing installation: PyMsgBox 1.0.9
Uninstalling PyMsgBox-1.0.9:
  Would remove:
    c:\users\al\.virtualenvs\pipfromrepl-fxbqt5ki\lib\site-packages\pymsgbox-1.0.9.dist-info\*
    c:\users\al\.virtualenvs\pipfromrepl-fxbqt5ki\lib\site-packages\pymsgbox\*
Proceed (Y/n)?   Successfully uninstalled PyMsgBox-1.0.9

其他详细信息

uninstall()函数有一个名为confirm的关键字参数,您可以将其设置为True以强制用户手动输入Y以继续。

user_install()函数将'--user'参数传递给pip。

您可以使用类似于pip的方式安装特定版本:pipfromrepl.install('pymsgbox==1.0.9')

您可以通过pip()函数直接将pip命令传递给pip

>>> import pipfromrepl

>>> pipfromrepl.pip('install pymsgbox')
Collecting pymsgbox
  Using cached PyMsgBox-1.0.9-py3-none-any.whl
Installing collected packages: pymsgbox
Successfully installed pymsgbox-1.0.9

>>> pipfromrepl.pip('list')
Package          Version    Editable project location
---------------- ---------- -------------------------
certifi          2022.9.24
distlib          0.3.6
filelock         3.8.0
pip              22.3.1
pipenv           2022.11.11
pipfromrepl      0.1.0      C:\github\pipfromrepl
platformdirs     2.5.4
PyMsgBox         1.0.9
setuptools       65.5.1
virtualenv       20.16.7
virtualenv-clone 0.5.7
wheel            0.37.1

>>> pipfromrepl.pip('uninstall pymsgbox')
Found existing installation: PyMsgBox 1.0.9
Uninstalling PyMsgBox-1.0.9:
  Would remove:
    c:\users\al\.virtualenvs\pipfromrepl-fxbqt5ki\lib\site-packages\pymsgbox-1.0.9.dist-info\*
    c:\users\al\.virtualenvs\pipfromrepl-fxbqt5ki\lib\site-packages\pymsgbox\*
Proceed (Y/n)? y
  Successfully uninstalled PyMsgBox-1.0.9

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源代码分发

pipfromrepl-0.1.6.tar.gz (4.3 kB 查看哈希值)

上传时间 源代码

由以下支持