运行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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6a80f9941cc87849a9260873c247704f1f989ac7372b9860d369292186de4593 |
|
MD5 | 1cb76dd6694555d05712829497894fab |
|
BLAKE2b-256 | 5f97116b76e7b05ffe6d6e72bc35fefac5f464a7e6ff018694ca0e4fced3141e |