精华内容
下载资源
问答
  • PyPI前端搜索,一个特性丰富的替代pip搜索
  • pypi和pip_Mozilla和PyPI

    2020-07-15 08:45:54
    pypi和pipVM setup for kitsune Kitsune的VM设置 The last time I wrote about PyPI some folks mistook the subject to be PyPy, so let me be clear: this article is about the Python Packaging Index. 我上...

    pypi和pip

    VM setup for kitsune

    Kitsune的VM设置

    The last time I wrote about PyPI some folks mistook the subject to be PyPy, so let me be clear: this article is about the Python Packaging Index.

    我上一次写有关PyPI的文章时,有些人误以为是PyPy ,所以请让我清楚:这篇文章是关于Python Packaging Index的

    I recently began doing some volunteer work for Mozilla[1], working on a virtual machine setup to make kitsune development easier (kitsune is the code name for the Django site that powers support.mozilla.com).

    我最近开始为Mozilla [1]做一些志愿工作,在虚拟机设置上进行工作,以简化kitsune的开发(kitsune是Django站点的代号,支持support.mozilla.com )。

    Git子模块 (Git submodules)

    In doing so, I came across an interesting command from their installation docs:

    为此,我从他们的安装文档中遇到了一个有趣的命令:

    $ git submodule update --init --recursive
    $ git submodule update --init --recursive
    

    I can recall some vague rumblings about git submodules prior to this incident, but nothing I’d call “familiarity”. So, I shrugged it off and went about the business of creating the VM (and resisting the urge to use zc.buildout to do it):

    我可以回想起在此事件之前关于git子模块的一些模糊的隆隆声,但是我什么也不会称之为“熟悉”。 因此,我耸了耸肩,开始了创建VM的工作(并抵制了使用zc.buildout来完成它的冲动):

    • On day 1, I created a VirtualBox VM using the latest Ubuntu Server and was able to assemble and run the application by following the instructions.
    • On day 2, I began to “vagrantize” the process. Here I ran into a bit of trouble with the git-submodule command[2]. This led me to seek alternative methods to install the various Python packages it was trying to install (when stuck on a problem I often like to pursue the alternatives immediately, so I have them if I need them.)
    • 在第一天,我使用最新的Ubuntu Server创建了VirtualBox VM,并能够按照说明组装和运行该应用程序。
    • 在第二天,我开始“证明”这一过程。 在这里,我遇到了git-submodule命令[2]的麻烦。 这导致我寻求替代方法来安装要尝试安装的各种Python软件包(当遇到问题时,我经常想立即寻求替代方法,因此如果需要,可以选择它们。)

    赞博尼 (Zamboni)

    Then, in the Mozilla IRC channel #sumodev (support mozilla) some nice Mozillian (willkg) pointed me to this gem:

    然后,在Mozilla IRC频道#sumodev( su pport mo zilla)中,一些不错的Mozillian(willkg)向我指出了这个宝石:

    Which in turn led me to the following two links:

    这又将我引向以下两个链接:

    Again, faint rumblings… this time about zamboni (not THAT Zamboni). I know I’ve heard of it, but I wouldn’t call myself familiar with it. So, I innocently read the following:

    再一次,微弱的隆隆声……这一次是关于zamboni(不是那个Zamboni)。 我知道我听说过,但是我不会叫自己熟悉它。 所以,我天真地读了以下内容:

    Python projects can incur a number of dependencies. “pip“ can be handy, but we’ve had better luck with distributing a “vendor“ library.
    Python项目可能会产生许多依赖关系。 “ pip”可能很方便,但是我们最好分发“ vendor”库。

    At which point I immediately thought to myself:

    这时我立即想到:

    Yeah… I hear that.是的...我听到了。

    Followed a few seconds later by:

    几秒钟后跟随:

    Wait… what?!?等等...什么?!?

    Playdoh (Playdoh)

    Some time/research later[3], I (re)discovered that zamboni is the codename for addons.mozilla.org[4]. And Playdoh is the code name for Mozilla’s base Django project setup. If you aren’t familiar with Playdoh, please do give it a whirl[5].

    经过一段时间的研究[3],我(重新)发现zamboni是addons.mozilla.org [4]的代号。 Playdoh是Mozilla基本Django项目设置的代号。 如果您对Playdoh不熟悉,请尝试一下[5]。

    聚酰亚胺 (PyPI)

    While all of this is very, very interesting to me, I am primarily a “systems and processes” guy; and what ultimately stuck with me after two days of Mozilla-ing is the following blurb from the Playdoh packaging documentation:

    尽管所有这些对我来说都非常有趣,但是我主要是一个“系统和流程”人。 经过两天的Mozilla-ing最终困扰我的是Playdoh包装文档中的以下内容:

    The “/vendor“ library is supposed to contain all packages and repositories. It enables the project to be deployed as one package onto many machines, without relying on PyPI-based installations on each target machine.
    “ / vendor”库应该包含所有软件包和存储库。 它使项目可以作为一个程序包部署到多台计算机上,而无需依赖每台目标计算机上基于PyPI的安装。

    “Nooooooooooooooo”, I am now saying to myself over and over. “Without relying on PyPI-based installations on each target machine.” Another “noooooooooooooooo!” I certainly don’t fault Mozilla for taking this approach, but it makes me sad that large organizations like Mozilla are passing over PyPI in favor of alternative methods of distributing Python software.

    “ Nooooooooooooooooo”,我现在不断对自己说。 “无需依赖每台目标计算机上基于PyPI的安装。” 另一个“ noooooooooooooooooo!” 我当然不会指责Mozilla采用这种方法,但是令我感到遗憾的是,像Mozilla这样的大型组织正在通过PyPI来支持分发Python软件的替代方法。

    Let us all now hang our heads, for a moment of pause and reflection.

    现在让我们所有人都垂下来,稍作停顿和反思。

    [a minute passes]

    [一分钟过去]

    未来 (The future)

    I can’t speak for anyone else, but I would certainly like to see this change in the future. I would LOVE to see PyPI become a place that Mozilla felt confident it could use to deploy Python software. And this is something I’d love to work on for Mozilla, if given the opportunity[6].

    我无法代表其他任何人说话,但我当然希望将来能看到这种变化。 我很希望看到PyPI成为Mozilla确信可以用来部署Python软件的地方。 如果有机会的话,我很乐意为Mozilla工作[6]。

    非常适合Python ==非常适合Mozilla? (Great for Python == great for Mozilla?)

    It’s obvious what’s in it for Python, but what’s in for Mozilla?

    很明显,Python中有什么功能,但是Mozilla中有什么功能呢?

    Simple.

    简单。

    I happen to share Mozilla’s vision for an open web and open source in general. And it’s great to see them embracing & using Python for their web projects! Without a doubt,  they are interested in giving back to the Python community (e.g. via Playdoh and the Django community, in this case.) So I suspect they’d be open to helping the Python community fix a long standing issue: the stability and reliability of the Python Package Index. It would certainly benefit them in the long run to simplify their build process to the point where git-submodule was no longer needed[7].

    我碰巧分享了Mozilla对开放网络和开放源代码的总体看法。 很高兴看到他们拥抱并在他们的Web项目中使用Python! 毫无疑问,他们有兴趣回馈Python社区(在这种情况下,例如通过Playdoh和Django社区。)因此,我怀疑他们愿意帮助Python社区解决长期存在的问题:稳定性和稳定性。 Python包索引的可靠性。 从长远来看,将它们的构建过程简化到不再需要git-submodule的地步,这肯定会给他们带来好处[7]。

    笔记 (Notes)

    [1] I am actively courting Mozilla in hopes of landing a gig by the end of the year. So all you Mozillians who know me personally, please put in a good word! And all you Mozillians I have not met yet: nice to meet you!

    [1]我正在积极地向Mozilla求爱,希望能在今年年底前获得演出。 因此,所有认识我的Mozillians都请您打个招呼! 以及我尚未遇见的所有Mozillians:很高兴认识您!

    [2] The problem turned out to be git-submodule failing to run because things like: grep and sed were missing from the PATH. Easily fixed by modifying the puppet configuration, but not easily discovered because git-submodule itself returned zero! Some guy on #puppet was very helpful in getting me to print out debug info.

    [2]问题是git-submodule无法运行,因为PATH中缺少诸如grep和sed之类的东西。 可以通过修改人偶配置轻松修复,但由于git-submodule本身返回零,因此不容易发现! #puppet上的某个人对让我打印出调试信息非常有帮助。

    [3] More help from friendly Mozillians in #webdev:

    [3] #webdev中友善的Mozillians提供了更多帮助:

    11:13 < groovecoder> aclark: yeah, zamboni is amo 11:13 < kumar> playdoh was extracted from zamboni and other apps 11:13 < kumar> but zamboni itself does not eat the playdoh dog food, actually 11:15 < kumar> aclark also, in case you’re not steeped in our initialisms, amo is addons.mozilla.org
    11:13 <groovecoder> aclark:是的,zamboni是amo 11:13 <kumar> playdoh是从zamboni和其他应用程序中提取的11:13 <kumar>,但是zamboni本身不吃playdoh狗食,实际上11:15 <kumar >也可以使用aclark,以防万一您不习惯我们的缩写,amo是addons.mozilla.org

    [4] There is a great presentation about it here: http://www.slideshare.net/andymckay/anatomy-of-a-large-django-site-7590098.)

    [4]此处有一个很好的介绍: http : //www.slideshare.net/andymckay/anatomy-of-a-large-django-site-7590098 。)

    [5] More from kumar (emphasis is my own):

    [5]来自kumar的更多内容(强调是我自己的):

    Playdoh is starting to stabilize so it would be Playdoh开始稳定下来,因此很good to see some use of it outside Mozilla; this would probably help us catch Mozilla-specific things that need extraction高兴看到Mozilla之外有一些使用它 ; 这可能会帮助我们捕获需要提取的Mozilla特定的东西

    [6] LARGE HINT 😉

    [6]大提示😉

    [7] Again, not that there is anything wrong with what Mozilla is doing here. As a systems guy, I just happen to gravitate toward simplifying processes by eliminating steps.

    [7]同样,这并不是Mozilla在这里所做的任何事情。 作为系统人员,我只是倾向于通过消除步骤来简化流程。

    翻译自: https://www.pybloggers.com/2011/09/mozilla-and-pypi/

    pypi和pip

    展开全文
  • 可能有很多刚入行不久的朋友们,每天都在用pip 命令install 一些python软件包,却对pypi 不甚了解,那这个pip和pypi之间有什么练习和区别呢?下面就带大家简单有个了解吧!希望能够帮助到大家!     &...

     

     

             可能有很多刚入行不久的朋友们,每天都在用pip 命令install 一些python软件包,却对pypi 不甚了解,那这个pip和pypi之间有什么练习和区别呢?下面就带大家简单有个了解吧!希望能够帮助到大家!

              pip 是一个现代的,通用的 Python 包管理工具,是easy_install的替代品,英文python  install packages

              Python包索引(PyPI)是Python编程语言的软件存储库。

             PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。
    pip可正常工作在Windows、Mac OS、Unix/Linux等操作系统上,但是需要至少2.6+和3.2+的CPython或PyPy的支持。python 2.7.9 和3.4以后的版本已经内置累pip程序,所以不需要安装。

    PyPI可帮助您查找和安装Python社区开发和共享的软件。

    包作者使用PyPI来分发他们的软件 。

    这里有pypi官方社区详细介绍,大家可以进去看看   https://pypi.org/,写得很详细!

     

    1,安装包  https://packaging.python.org/tutorials/installing-packages/#installing-packages

    内容

    安装包的要求

    本节介绍在安装其他Python包之前要遵循的步骤。

    确保您可以从命令行运行

    在继续之前,请确保您拥有Python,并且可以从命令行获得预期版本。您可以通过运行来检查:

    python --version
    

    你应该得到一些输出。如果您没有Python,请从python.org安装最新的3.x版本,或参考Hitchhiker的Python指南的安装Python部分。Python 3.6.3

    注意

     

    如果您是新手并且遇到如下错误:

    >>>

    >>> python --version
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'python' is not defined
    

    这是因为本教程中的此命令和其他建议命令旨在在shell(也称为终端或 控制台)中运行。有关使用操作系统的shell和与Python交互的介绍,请参阅Python入门指南入门教程

    注意

     

    如果您正在使用像IPython或Jupyter笔记本这样的增强型shell,则可以通过使用!字符为它们添加前缀来运行本教程中的系统命令:

    In [1]: import sys
            !{sys.executable} --version
    Python 3.6.3
    

    建议编写{sys.executable}而不是简单python,以确保命令在与当前运行的笔记本匹配的Python安装中运行(可能与python命令引用的Python安装不同)。

    注意

     

    由于大多数Linux发行版处理Python 3迁移的方式,使用系统Python而不首先创建虚拟环境的Linux用户应该python使用python3和使用pip命令替换本教程中的命令。千万不能 在本教程与运行任何命令:如果你得到一个权限错误,回来的部分上创建虚拟环境中,设置一个,然后用教程继续写。pip3 --usersudo

    确保你可以在命令行中运行PIP 

    此外,您需要确保您有可用的点数。您可以通过运行来检查:

    pip --version
    

    如果您从源代码安装Python,使用python.org的安装程序,或者通过Homebrew安装Python,那么您应该已经拥有了pip。如果您在Linux上并使用操作系统软件包管理器进行安装,则可能需要单独安装pip,请参阅 使用Linux软件包管理器安装pip / setuptools / wheel

    如果pip尚未安装,则首先尝试从标准库引导它:

    python -m ensurepip --default-pip
    

    如果仍然不允许你运行pip

    • 安全下载get-pip.py [1]

    • 跑。[2] 这将安装或升级pip。此外,如果它们尚未安装,它将安装setuptoolswheelpythonget-pip.py

      警告

       

      如果您使用的是由您的操作系统或其他软件包管理器管理的Python安装,请务必小心。get-pip.py不与这些工具协调,可能会使系统处于不一致状态。您可以使用 安装在其中设计用于本地安装的软件。python get-pip.py --prefix=/usr/local//usr/local

    确保pip,setuptools和wheel是最新的

    虽然pip单独就足以从预先构建的二进制存档进行安装,但最新的setuptoolswheel项目副本对于确保您也可以从源存档进行安装非常有用:

    python -m pip install --upgrade pip setuptools wheel
    

    (可选)创建虚拟环境

    有关详细信息,请参阅下面部分,但这是在典型Linux系统上使用的基本venv [3]命令:

    python3 -m venv tutorial_env
    source tutorial_env/bin/activate
    

    这将在tutorial_env子目录中创建新的虚拟环境,并配置当前shell以将其用作默认python环境。

    创建虚拟环境

    Python“虚拟环境”允许将Python 安装在特定应用程序的隔离位置,而不是全局安装。

    想象一下,你有一个需要LibFoo版本1的应用程序,但另一个应用程序需要版本2.你如何使用这两个应用程序?如果将所有内容安装到/usr/lib/python3.6/site-packages(或任何平台的标准位置),则很容易在无意中升级不应升级的应用程序的情况下结束。

    或者更一般地说,如果你想安装一个应用程序并保留它,该怎么办?如果应用程序有效,则其库中的任何更改或这些库的版本都可能会破坏应用程序。

    另外,如果您无法将软件包安装到全局site-packages目录中,该怎么办?例如,在共享主机上。

    在所有这些情况下,虚拟环境可以帮助您。它们有自己的安装目录,并且不与其他虚拟环境共享库。

    目前,有两种常用的工具可用于创建Python虚拟环境:

    • 默认情况下,在Python 3.3及更高版本中可以使用venv,并在Python 3.4及更高版本中将pipsetuptools安装 到创建的虚拟环境中。
    • virtualenv需要单独安装,但支持Python 2.7+和Python 3.3+,默认情况下, pip setuptools wheel始终安装到创建的虚拟环境中(无论Python版本如何)。

    基本用法如下:

    使用virtualenv

    virtualenv <DIR>
    source <DIR>/bin/activate
    

    使用venv

    python3 -m venv <DIR>
    source <DIR>/bin/activate
    

    有关更多信息,请参阅virtualenv文档或venv文档。

    在上述两种情况下,Windows用户都应该_not_使用 source命令,而应该直接从命令shell 运行activate脚本。在Unix shell下使用source可确保虚拟环境的变量在当前shell中设置,而不是在子进程中设置(然后消失,没有任何有用的效果)。

    直接管理多个虚拟环境可能会变得乏味,因此 依赖关系管理教程引入了一个更高级别的工具Pipenv,它可以为您处理的每个项目和应用程序自动管理单独的虚拟环境。

    使用pip进行安装

    pip是推荐的安装程序。下面,我们将介绍最常见的使用方案。有关更多详细信息,请参阅 pip文档,其中包含完整的参考指南

    从PyPI安装

    pip最常见的用法是使用需求说明符Python包索引进行安装。一般来说,需求说明符由项目名称后跟可选的版本说明符组成。 PEP 440包含a 当前支持的说明符的完整规范。以下是一些例子。

    要安装最新版本的“SomeProject”:

    pip install 'SomeProject'
    

    要安装特定版本:

    pip install 'SomeProject==1.4'
    

    要安装大于或等于一个版本而不是另一个版本:

    pip install 'SomeProject>=1,<2'
    

    安装一个版本 与某个版本 “兼容” [4]

    pip install 'SomeProject~=1.4.2'
    

    在这种情况下,这意味着安装任何版本“== 1.4。*”版本也是“> = 1.4.2”。

    源分布与车轮

    pip可以从 Source Distributions(sdist) Wheels安装,但如果两者都存在于PyPI上,则pip将更喜欢兼容的wheel

    轮子是预先构建的分发格式,与源分发(sdist)相比,提供更快的安装,特别是当项目包含编译的扩展时。

    如果pip没有找到要安装的轮子,它将在本地构建一个轮子并将其缓存以供将来安装,而不是在将来重建源分发。

    升级包

    将已安装的SomeProject从PyPI 升级到最新版本。

    pip install --upgrade SomeProject
    

    安装到用户站点

    要安装与当前用户隔离的软件包,请使用以下--user标志:

    pip install --user SomeProject
    

    有关更多信息,请参阅pip文档中的“ 用户安装”部分。

    请注意,在--user虚拟环境中,该标志无效 - 所有安装命令都将影响虚拟环境。

    需求文件

    安装需求文件中指定的需求列表。

    pip install -r requirements.txt
    

    从VCS安装

    以“可编辑”模式从VCS安装项目。有关语法的完整细分,请参阅有关VCS支持的 pip部分。

    pip install -e git+https://git.repo/some_pkg.git#egg=SomeProject          # from git
    pip install -e hg+https://hg.repo/some_pkg#egg=SomeProject                # from mercurial
    pip install -e svn+svn://svn.repo/some_pkg/trunk/#egg=SomeProject         # from svn
    pip install -e git+https://git.repo/some_pkg.git@feature#egg=SomeProject  # from a branch
    

    从其他索引安装

    从备用索引安装

    pip install --index-url http://my.package.repo/simple/ SomeProject
    

    除了PyPI之外,在安装期间搜索其他索引

    pip install --extra-index-url http://my.package.repo/simple SomeProject
    

    从本地src树安装

    开发模式下从本地src安装,即以项目似乎已安装的方式安装,但仍可从src树中编辑。

    pip install -e <path>
    

    您也可以从src正常安装

    pip install <path>
    

    从本地存档安装

    安装特定的源归档文件。

    pip install ./downloads/SomeProject-1.0.4.tar.gz
    

    从包含存档的本地目录安装(并且不检查PyPI

    pip install --no-index --find-links=file:///local/dir/ SomeProject
    pip install --no-index --find-links=/local/dir/ SomeProject
    pip install --no-index --find-links=relative/dir/ SomeProject
    

    从其他来源安装

    要从其他数据源(例如Amazon S3存储)进行安装,您可以创建一个帮助应用程序,以便在数据中显示数据 PEP 503兼容索引格式,并使用该--extra-index-url标志指示pip使用该索引。

    ./s3helper --port=7777
    pip install --extra-index-url http://localhost:7777 SomeProject
    

    安装预发布

    除稳定版本外,还可以查找预发布和开发版本。默认情况下,pip只能找到稳定的版本。

    pip install --pre SomeProject
    

    安装Setuptools“Extras” 

    安装setuptools extras

    $ pip install SomePackage[PDF]
    $ pip install SomePackage[PDF]==3.0
    $ pip install -e .[PDF]==3.0  # editable project in current directory
    

    [1]在此上下文中,“安全”是指使用现代浏览器或curl等工具从https URL下载时验证SSL证书。
    [2]根据您的平台,这可能需要root或Administrator访问权限。pip目前正在考虑通过让用户安装默认行为来改变这种情况
    [3]从Python 3.4开始,venvvirtualenv的stdlib替代品 )将创建pip 预安装的virtualenv环境,从而使其成为virtualenv的平等替代品 。
    [4]兼容版本说明符已被接受 PEP 440 和支持在 setuptools v8.0和 pip v6.0中发布

     

    展开全文
  • pip 是一个现代的,通用的 Python 包管理工具,是easy_install的替代品,英文python install packages! Python包索引(PyPI)是Python编程语言的软件存储库。 PyPI(Python Package Index)是python官方的第三方...

    pip 是一个现代的,通用的 Python 包管理工具,是easy_install的替代品,英文python  install packages 

              Python包索引(PyPI)是Python编程语言的软件存储库。

             PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。
    pip可正常工作在Windows、Mac OS、Unix/Linux等操作系统上,但是需要至少2.6+和3.2+的CPython或PyPy的支持。python 2.7.9 和3.4以后的版本已经内置累pip程序,所以不需要安装。

    PyPI可帮助您查找和安装Python社区开发和共享的软件。

    包作者使用PyPI来分发他们的软件 。

    这里有pypi官方社区详细介绍,大家可以进去看看   https://pypi.org/,写得很详细!

     

    1,安装包  https://packaging.python.org/tutorials/installing-packages/#installing-packages

    内容

    安装包的要求

    本节介绍在安装其他Python包之前要遵循的步骤。

    确保您可以从命令行运行

    在继续之前,请确保您拥有Python,并且可以从命令行获得预期版本。您可以通过运行来检查:

    python --version
    

    你应该得到一些输出。如果您没有Python,请从python.org安装最新的3.x版本,或参考Hitchhiker的Python指南的安装Python部分。Python 3.6.3

    注意

     

    如果您是新手并且遇到如下错误:

    >>>

    >>> python --version
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'python' is not defined
    

    这是因为本教程中的此命令和其他建议命令旨在在shell(也称为终端或 控制台)中运行。有关使用操作系统的shell和与Python交互的介绍,请参阅Python入门指南入门教程

    注意

     

    如果您正在使用像IPython或Jupyter笔记本这样的增强型shell,则可以通过使用!字符为它们添加前缀来运行本教程中的系统命令:

    In [1]: import sys
            !{sys.executable} --version
    Python 3.6.3
    

    建议编写{sys.executable}而不是简单python,以确保命令在与当前运行的笔记本匹配的Python安装中运行(可能与python命令引用的Python安装不同)。

    注意

     

    由于大多数Linux发行版处理Python 3迁移的方式,使用系统Python而不首先创建虚拟环境的Linux用户应该python使用python3和使用pip命令替换本教程中的命令。千万不能 在本教程与运行任何命令:如果你得到一个权限错误,回来的部分上创建虚拟环境中,设置一个,然后用教程继续写。pip3 --usersudo

    确保你可以在命令行中运行PIP 

    此外,您需要确保您有可用的点数。您可以通过运行来检查:

    pip --version
    

    如果您从源代码安装Python,使用python.org的安装程序,或者通过Homebrew安装Python,那么您应该已经拥有了pip。如果您在Linux上并使用操作系统软件包管理器进行安装,则可能需要单独安装pip,请参阅 使用Linux软件包管理器安装pip / setuptools / wheel

    如果pip尚未安装,则首先尝试从标准库引导它:

    python -m ensurepip --default-pip
    

    如果仍然不允许你运行pip

    • 安全下载get-pip.py [1]

    • 跑。[2] 这将安装或升级pip。此外,如果它们尚未安装,它将安装setuptoolswheelpythonget-pip.py

      警告

       

      如果您使用的是由您的操作系统或其他软件包管理器管理的Python安装,请务必小心。get-pip.py不与这些工具协调,可能会使系统处于不一致状态。您可以使用 安装在其中设计用于本地安装的软件。python get-pip.py --prefix=/usr/local//usr/local

    确保pip,setuptools和wheel是最新的

    虽然pip单独就足以从预先构建的二进制存档进行安装,但最新的setuptoolswheel项目副本对于确保您也可以从源存档进行安装非常有用:

    python -m pip install --upgrade pip setuptools wheel
    

    (可选)创建虚拟环境

    有关详细信息,请参阅下面部分,但这是在典型Linux系统上使用的基本venv [3]命令:

    python3 -m venv tutorial_env
    source tutorial_env/bin/activate
    

    这将在tutorial_env子目录中创建新的虚拟环境,并配置当前shell以将其用作默认python环境。

    创建虚拟环境

    Python“虚拟环境”允许将Python 安装在特定应用程序的隔离位置,而不是全局安装。

    想象一下,你有一个需要LibFoo版本1的应用程序,但另一个应用程序需要版本2.你如何使用这两个应用程序?如果将所有内容安装到/usr/lib/python3.6/site-packages(或任何平台的标准位置),则很容易在无意中升级不应升级的应用程序的情况下结束。

    或者更一般地说,如果你想安装一个应用程序并保留它,该怎么办?如果应用程序有效,则其库中的任何更改或这些库的版本都可能会破坏应用程序。

    另外,如果您无法将软件包安装到全局site-packages目录中,该怎么办?例如,在共享主机上。

    在所有这些情况下,虚拟环境可以帮助您。它们有自己的安装目录,并且不与其他虚拟环境共享库。

    目前,有两种常用的工具可用于创建Python虚拟环境:

    • 默认情况下,在Python 3.3及更高版本中可以使用venv,并在Python 3.4及更高版本中将pipsetuptools安装 到创建的虚拟环境中。
    • virtualenv需要单独安装,但支持Python 2.7+和Python 3.3+,默认情况下, pip setuptools wheel始终安装到创建的虚拟环境中(无论Python版本如何)。

    基本用法如下:

    使用virtualenv

    virtualenv <DIR>
    source <DIR>/bin/activate
    

    使用venv

    python3 -m venv <DIR>
    source <DIR>/bin/activate
    

    有关更多信息,请参阅virtualenv文档或venv文档。

    在上述两种情况下,Windows用户都应该_not_使用 source命令,而应该直接从命令shell 运行activate脚本。在Unix shell下使用source可确保虚拟环境的变量在当前shell中设置,而不是在子进程中设置(然后消失,没有任何有用的效果)。

    直接管理多个虚拟环境可能会变得乏味,因此 依赖关系管理教程引入了一个更高级别的工具Pipenv,它可以为您处理的每个项目和应用程序自动管理单独的虚拟环境。

    使用pip进行安装

    pip是推荐的安装程序。下面,我们将介绍最常见的使用方案。有关更多详细信息,请参阅 pip文档,其中包含完整的参考指南

    从PyPI安装

    pip最常见的用法是使用需求说明符Python包索引进行安装。一般来说,需求说明符由项目名称后跟可选的版本说明符组成。 PEP 440包含a 当前支持的说明符的完整规范。以下是一些例子。

    要安装最新版本的“SomeProject”:

    pip install 'SomeProject'
    

    要安装特定版本:

    pip install 'SomeProject==1.4'
    

    要安装大于或等于一个版本而不是另一个版本:

    pip install 'SomeProject>=1,<2'
    

    安装一个版本 与某个版本 “兼容” [4]

    pip install 'SomeProject~=1.4.2'
    

    在这种情况下,这意味着安装任何版本“== 1.4。*”版本也是“> = 1.4.2”。

    源分布与车轮

    pip可以从 Source Distributions(sdist) Wheels安装,但如果两者都存在于PyPI上,则pip将更喜欢兼容的wheel

    轮子是预先构建的分发格式,与源分发(sdist)相比,提供更快的安装,特别是当项目包含编译的扩展时。

    如果pip没有找到要安装的轮子,它将在本地构建一个轮子并将其缓存以供将来安装,而不是在将来重建源分发。

    升级包

    将已安装的SomeProject从PyPI 升级到最新版本。

    pip install --upgrade SomeProject
    

    安装到用户站点

    要安装与当前用户隔离的软件包,请使用以下--user标志:

    pip install --user SomeProject
    

    有关更多信息,请参阅pip文档中的“ 用户安装”部分。

    请注意,在--user虚拟环境中,该标志无效 - 所有安装命令都将影响虚拟环境。

    需求文件

    安装需求文件中指定的需求列表。

    pip install -r requirements.txt
    

    从VCS安装

    以“可编辑”模式从VCS安装项目。有关语法的完整细分,请参阅有关VCS支持的 pip部分。

    pip install -e git+https://git.repo/some_pkg.git#egg=SomeProject          # from git
    pip install -e hg+https://hg.repo/some_pkg#egg=SomeProject                # from mercurial
    pip install -e svn+svn://svn.repo/some_pkg/trunk/#egg=SomeProject         # from svn
    pip install -e git+https://git.repo/some_pkg.git@feature#egg=SomeProject  # from a branch
    

    从其他索引安装

    从备用索引安装

    pip install --index-url http://my.package.repo/simple/ SomeProject
    

    除了PyPI之外,在安装期间搜索其他索引

    pip install --extra-index-url http://my.package.repo/simple SomeProject
    

    从本地src树安装

    开发模式下从本地src安装,即以项目似乎已安装的方式安装,但仍可从src树中编辑。

    pip install -e <path>
    

    您也可以从src正常安装

    pip install <path>
    

    从本地存档安装

    安装特定的源归档文件。

    pip install ./downloads/SomeProject-1.0.4.tar.gz
    

    从包含存档的本地目录安装(并且不检查PyPI

    pip install --no-index --find-links=file:///local/dir/ SomeProject
    pip install --no-index --find-links=/local/dir/ SomeProject
    pip install --no-index --find-links=relative/dir/ SomeProject
    

    从其他来源安装

    要从其他数据源(例如Amazon S3存储)进行安装,您可以创建一个帮助应用程序,以便在数据中显示数据 PEP 503兼容索引格式,并使用该--extra-index-url标志指示pip使用该索引。

    ./s3helper --port=7777
    pip install --extra-index-url http://localhost:7777 SomeProject
    

    安装预发布

    除稳定版本外,还可以查找预发布和开发版本。默认情况下,pip只能找到稳定的版本。

    pip install --pre SomeProject
    

    安装Setuptools“Extras” 

    安装setuptools extras

    $ pip install SomePackage[PDF]
    $ pip install SomePackage[PDF]==3.0
    $ pip install -e .[PDF]==3.0  # editable project in current directory
    

    [1] 在此上下文中,“安全”是指使用现代浏览器或curl等工具从https URL下载时验证SSL证书。
    [2] 根据您的平台,这可能需要root或Administrator访问权限。pip目前正在考虑通过让用户安装默认行为来改变这种情况
    [3] 从Python 3.4开始,venvvirtualenv的stdlib替代品 )将创建pip 预安装的virtualenv环境,从而使其成为virtualenv的平等替代品 。
    [4] 兼容版本说明符已被接受 PEP 440 和支持在 setuptools v8.0和 pip v6.0中发布
    展开全文
  • 转载:https://blog.csdn.net/weixin_42139375/article/details/82711201可能有很多刚入行不久的朋友们,每天都在用pip 命令install 一些python软件包,却对pypi 不甚了解,那这个pip和pypi之间有什么练习和区别呢?...

    转载:https://blog.csdn.net/weixin_42139375/article/details/82711201

    可能有很多刚入行不久的朋友们,每天都在用pip 命令install 一些python软件包,却对pypi 不甚了解,那这个pip和pypi之间有什么练习和区别呢?下面就带大家简单有个了解吧!希望能够帮助到大家!

    pip 是一个现代的,通用的 Python 包管理工具,是easy_install的替代品,英文python install packages!

    Python包索引(PyPI)是Python编程语言的软件存储库。

    PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。

    pip可正常工作在Windows、Mac OS、Unix/Linux等操作系统上,但是需要至少2.6+和3.2+的CPython或PyPy的支持。python 2.7.9 和3.4以后的版本已经内置累pip程序,所以不需要安装。

    PyPI可帮助您查找和安装Python社区开发和共享的软件。

    包作者使用PyPI来分发他们的软件 。

    这里有pypi官方社区详细介绍,大家可以进去看看 https://pypi.org/,写得很详细!

    内容

    本节介绍在安装其他Python包之前要遵循的步骤。

    在继续之前,请确保您拥有Python,并且可以从命令行获得预期版本。您可以通过运行来检查:

    python --version

    你应该得到一些输出。如果您没有Python,请从python.org安装最新的3.x版本,或参考Hitchhiker的Python指南的安装Python部分。Python 3.6.3

    注意

    如果您是新手并且遇到如下错误:

    >>>

    >>>python --version

    Traceback (most recent call last):

    File "", line 1, in

    NameError: name 'python' is not defined

    这是因为本教程中的此命令和其他建议命令旨在在shell(也称为终端或 控制台)中运行。有关使用操作系统的shell和与Python交互的介绍,请参阅Python入门指南入门教程。

    注意

    如果您正在使用像IPython或Jupyter笔记本这样的增强型shell,则可以通过使用!字符为它们添加前缀来运行本教程中的系统命令:

    In [1]: import sys

    !{sys.executable} --version

    Python 3.6.3

    建议编写{sys.executable}而不是简单python,以确保命令在与当前运行的笔记本匹配的Python安装中运行(可能与python命令引用的Python安装不同)。

    注意

    由于大多数Linux发行版处理Python 3迁移的方式,使用系统Python而不首先创建虚拟环境的Linux用户应该python使用python3和使用pip命令替换本教程中的命令。千万不能 在本教程与运行任何命令:如果你得到一个权限错误,回来的部分上创建虚拟环境中,设置一个,然后用教程继续写。pip3 --usersudo

    此外,您需要确保您有可用的点数。您可以通过运行来检查:

    pip --version

    如果您从源代码安装Python,使用python.org的安装程序,或者通过Homebrew安装Python,那么您应该已经拥有了pip。如果您在Linux上并使用操作系统软件包管理器进行安装,则可能需要单独安装pip,请参阅 使用Linux软件包管理器安装pip / setuptools / wheel。

    如果pip尚未安装,则首先尝试从标准库引导它:

    python -m ensurepip --default-pip

    如果仍然不允许你运行pip:

    跑。[2] 这将安装或升级pip。此外,如果它们尚未安装,它将安装setuptools和wheel。pythonget-pip.py

    警告

    如果您使用的是由您的操作系统或其他软件包管理器管理的Python安装,请务必小心。get-pip.py不与这些工具协调,可能会使系统处于不一致状态。您可以使用 安装在其中设计用于本地安装的软件。python get-pip.py --prefix=/usr/local//usr/local

    虽然pip单独就足以从预先构建的二进制存档进行安装,但最新的setuptools和wheel项目副本对于确保您也可以从源存档进行安装非常有用:

    python -m pip install --upgrade pip setuptools wheel

    有关详细信息,请参阅下面的部分,但这是在典型Linux系统上使用的基本venv[3]命令:

    python3 -m venv tutorial_env

    source tutorial_env/bin/activate

    这将在tutorial_env子目录中创建新的虚拟环境,并配置当前shell以将其用作默认python环境。

    Python“虚拟环境”允许将Python 包安装在特定应用程序的隔离位置,而不是全局安装。

    想象一下,你有一个需要LibFoo版本1的应用程序,但另一个应用程序需要版本2.你如何使用这两个应用程序?如果将所有内容安装到/usr/lib/python3.6/site-packages(或任何平台的标准位置),则很容易在无意中升级不应升级的应用程序的情况下结束。

    或者更一般地说,如果你想安装一个应用程序并保留它,该怎么办?如果应用程序有效,则其库中的任何更改或这些库的版本都可能会破坏应用程序。

    另外,如果您无法将软件包安装到全局site-packages目录中,该怎么办?例如,在共享主机上。

    在所有这些情况下,虚拟环境可以帮助您。它们有自己的安装目录,并且不与其他虚拟环境共享库。

    目前,有两种常用的工具可用于创建Python虚拟环境:

    默认情况下,在Python 3.3及更高版本中可以使用venv,并在Python 3.4及更高版本中将pip和setuptools安装 到创建的虚拟环境中。

    virtualenv需要单独安装,但支持Python 2.7+和Python 3.3+,默认情况下,pip,setuptools和wheel始终安装到创建的虚拟环境中(无论Python版本如何)。

    基本用法如下:

    virtualenv

    source

    python3 -m venv

    source

    有关更多信息,请参阅virtualenv文档或venv文档。

    在上述两种情况下,Windows用户都应该_not_使用 source命令,而应该直接从命令shell 运行activate脚本。在Unix shell下使用source可确保虚拟环境的变量在当前shell中设置,而不是在子进程中设置(然后消失,没有任何有用的效果)。

    直接管理多个虚拟环境可能会变得乏味,因此 依赖关系管理教程引入了一个更高级别的工具Pipenv,它可以为您处理的每个项目和应用程序自动管理单独的虚拟环境。

    pip是推荐的安装程序。下面,我们将介绍最常见的使用方案。有关更多详细信息,请参阅pip文档,其中包含完整的参考指南。

    pip最常见的用法是使用需求说明符从Python包索引进行安装。一般来说,需求说明符由项目名称后跟可选的版本说明符组成。 PEP 440包含a 当前支持的说明符的完整规范。以下是一些例子。

    要安装最新版本的“SomeProject”:

    pip install 'SomeProject'

    要安装特定版本:

    pip install 'SomeProject==1.4'

    要安装大于或等于一个版本而不是另一个版本:

    pip install 'SomeProject>=1,<2'

    安装一个版本 与某个版本“兼容”:[4]

    pip install 'SomeProject~=1.4.2'

    在这种情况下,这意味着安装任何版本“== 1.4。*”版本也是“> = 1.4.2”。

    轮子是预先构建的分发格式,与源分发(sdist)相比,提供更快的安装,特别是当项目包含编译的扩展时。

    如果pip没有找到要安装的轮子,它将在本地构建一个轮子并将其缓存以供将来安装,而不是在将来重建源分发。

    将已安装的SomeProject从PyPI 升级到最新版本。

    pip install --upgrade SomeProject

    要安装与当前用户隔离的软件包,请使用以下--user标志:

    pip install --user SomeProject

    有关更多信息,请参阅pip文档中的“ 用户安装”部分。

    请注意,在--user虚拟环境中,该标志无效 - 所有安装命令都将影响虚拟环境。

    安装需求文件中指定的需求列表。

    pip install -r requirements.txt

    以“可编辑”模式从VCS安装项目。有关语法的完整细分,请参阅有关VCS支持的 pip部分。

    pip install -e git+https://git.repo/some_pkg.git#egg=SomeProject # from git

    pip install -e hg+https://hg.repo/some_pkg#egg=SomeProject # from mercurial

    pip install -e svn+svn://svn.repo/some_pkg/trunk/#egg=SomeProject # from svn

    pip install -e git+https://git.repo/some_pkg.git@feature#egg=SomeProject # from a branch

    从备用索引安装

    pip install --index-url http://my.package.repo/simple/ SomeProject

    除了PyPI之外,在安装期间搜索其他索引

    pip install --extra-index-url http://my.package.repo/simple SomeProject

    在开发模式下从本地src安装,即以项目似乎已安装的方式安装,但仍可从src树中编辑。

    pip install -e

    您也可以从src正常安装

    pip install

    安装特定的源归档文件。

    pip install ./downloads/SomeProject-1.0.4.tar.gz

    从包含存档的本地目录安装(并且不检查PyPI)

    pip install --no-index --find-links=file:///local/dir/ SomeProject

    pip install --no-index --find-links=/local/dir/ SomeProject

    pip install --no-index --find-links=relative/dir/ SomeProject

    要从其他数据源(例如Amazon S3存储)进行安装,您可以创建一个帮助应用程序,以便在数据中显示数据 PEP 503兼容索引格式,并使用该--extra-index-url标志指示pip使用该索引。

    ./s3helper --port=7777

    pip install --extra-index-url http://localhost:7777 SomeProject

    除稳定版本外,还可以查找预发布和开发版本。默认情况下,pip只能找到稳定的版本。

    pip install --pre SomeProject

    $ pip install SomePackage[PDF]

    $ pip install SomePackage[PDF]==3.0

    $ pip install -e .[PDF]==3.0 # editable project in current directory

    参考资料:

    https://pypi.org/

    展开全文
  • 上传py模块到pypi

    2020-04-01 16:40:09
    1. 在pypi官网(https://pypi.org)注册并完成账号认证。 2. 在本地创建Python项目。 项目组成包括: tests文件夹,里面是空的就可以 ...文件的内容在pypi的官方指导文档有说明,直接复制粘贴即可:...
  • python pypi Python is famous for coming with batteries included. Sophisticated capabilities are available in the standard library. You can find modules for working with sockets, parsing CSV, JSON, and...
  • 不论是使用 pip,还是 Pipenv、Poetry 等工具,安装 Python 包的时候会默认从官方的 PyPI 源下载文件,速度比较慢。国内的一些公司和机构提供了 PyPI 镜像源(mirror source),你可以设置让这些工具从国内的镜像源...
  • 利用setup.py在pypi上发布自己的模块。
  • 文章目录if、name、mainpip、PyPi if、name、main 上篇博文里面定义了package和module,这里直接引用之前的代码继续做修改。 在module.py文件中定义了myMax。 def myMax(*args): iBol = False iRst = 0 for item ...
  • 导读:PyPI 的 JSON API 是一种机器可直接使用的数据源,你可以访问和你浏览网站时相同类型的数据。本文字数:5191,阅读时长大约:6分钟https://linux.cn/ar...
  • 卸载包及它的相关依赖 如你所见,Python 社区非常活跃,并且为 pip 创建了一些简洁的替代方案,你可以在本教程稍后的部分看到。 pip 入门 那么,什么是 pip 呢?pip 是 Python 的包管理器。这意味着它是一个工具,...
  • Python 包索引(一个搜索下载包的平台)是 Python 社区开源包的主要来源,任何人都可以免费上传新的包,唯一的要求就是在 PyPI 网站上进行注册。当然,我们不必局限于这个索引,而且所有打包工具都支持使用其他包...
  • Poetry / Flit 因为 Poetry,Flit 这些工具遵循 PEP 518 创建了一个 pyproject.toml 文件来替代 setup.py、Pipfile 等配置文件,所以我们可以在这个文件里更改 PyPI 源。 使用 Poetry 时,在 pyproject.toml 末尾...
  • 这个包旨在加速从zipfiles...它导出了一个有用的名字“zipimporter”,这是一个替代品对于标准的Zipimporter类。替换内置的zipimport机制使用zipimportx,请执行以下操作:import zipimportxzipimportx.zipimporter...
  • 对于一个项目,我发现自己需要与一些旧的excel电子表格进行交互,而像pandas和openpyxl这样常见的替代品对我来说还不够这个库对我来说最大的需求是能够很容易地将我的工作附加到现有的电子表格中。其他库会覆盖整个...
  • PLZ 替代。 利用 $ plz install pre-commit # Install 1 or more packages $ plz uninstall pre-commit # Uninstall 1 or more packages $ plz reinstall pre-commit # Reinstall 1 or more packages $ plz ...
  • PyPI: ://pypi.python.org/pypi/zulu/ Github动作: : 特征 所有日期时间对象都已转换并存储为UTC。 默认情况下解析ISO8601格式的字符串和POSIX时间戳。 时区表示仅在字符串输出格式设置或强制转换为本机...
  • PYPI: ://pypi.python.org/pypi/pyscreenshot 目标:Pyscreenshot尝试允许在不安装第3方库的情况下截取屏幕截图。 它是跨平台的。 它只是一个纯Python的包装程序,是现有后端的薄层。 它的策略应适用于大多数...
  • xcffib旨在(主要)替代xpyb 。 xpyb的上游没有活动,有几次内存泄漏,仅python2,没有pypy支持。 xcffib是使用的绑定,可减轻上述问题。 xcffib还为1.10中的29个X扩展(xprint和xkb丢失)构建了绑定。 安装 对于...
  • 01-下载源码 安装 ... Install Xadmin is best installed via PyPI. To install the latest version, run: pip install xadmin or Install from github source: pip install git+git:...
  • 变速箱可以从pypi安装: pip install gearbox 应该只适用于大多数用户 盒子外面 只需安装变速箱本身,您的 TurboGears 项目就可以使用变速箱系统范围内的命令,如gearbox serve 、 gearbox setup-app和gearbox ...
  • pytest assume 替代

    2020-09-02 19:20:56
    最近在尝试使用pytest 做接口...解决这个新问题, 考虑二次开发pytest_assume ,无奈技术有限,搞不定, 发现一个新模块pytest check (详情:https://pypi.org/project/pytest-check/) 可展示出断言失败时的 详细参数
  • rm-protection:一个尽可能从根源防止误删的 rm 替代品rm-protection 与原生 rm 完全兼容(事实上它会将参数原封不动地传递给 rm),唯一不同的是,它在执行 rm 前将检查你要删的每一个文件或者目录是否被「保护」。...
  • 最小的单用户 Delicio.us 替代品 介绍 Moderately Tasty 是一个带有标签支持的基本书签应用程序,使用 Flask 和 SQLite 构建。 这是一个单用户应用程序:您在自己的服务器上为自己安装一个实例,并且您是唯一使用它...
  • 该项目是 Windows 任务计划程序的简单替代品。 它是纯 Python(除了sleep ),所以没有理由不能在 Linux 上使用它,但这没有多大意义。 基本原则是 cron 作业和设置存储在 JSON 文本文件中。 每次运行脚本时,都会...
  • 替代mypy不支持的Python实现的“ pytest-mypy-plugins”。 有关动作pytest插件,请参见 。 测验 聚酰亚胺 活动 质量检查 其他 安装 可以从PyPI安装pytest-mypy-plugins-shim 。 要使用pip安装: $ ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,491
精华内容 1,396
关键字:

替代pypi