如何使用PowerShell在Windows上安装Python,pip和virtualenv 您所在的位置:网站首页 python怎么用pip安装模块 如何使用PowerShell在Windows上安装Python,pip和virtualenv

如何使用PowerShell在Windows上安装Python,pip和virtualenv

2024-03-16 19:35| 来源: 网络整理| 查看: 265

如何使用PowerShell在Windows上安装Python,pip和virtualenv

如果你做任何Python开发,你可能会遇到非常多的软件包安装说明,上面写着:

要安装,请使用pip:

pip install engineer

现在,这一切都很好,花花公子,但是什么是pip?什么是人们不断告诉我应该使用的这种功能?

如果您是Python新手,那么启动和运行pip和virtualenv可能是一个挑战,尤其是在Windows上。我在那里看到的许多指南假定a)你在Linux或UNIX上工作或b)你已经安装了pip / setuptools,或者你知道如何安装包和管理virtualenv。哎呀,当我学习这个的时候,我甚至都不知道是什么东西!现在已经多次完成这个过程,我决定从一开始就把它写下来,希望它对未来的某个人有用。

 

在我们开始之前

在我们开始之前的简短说明...为了确保我们都在同一页面上,pip是一个Python包安装程序。它与PyPI(Python包索引)集成,允许您从包索引下载和安装包,无需手动下载包,解压缩,运行python setup.py install等.Pip使您的Python环境安装库变得轻而易举,当您开始开发时你自己的包提供了一种声明依赖关系的方法,因此这些依赖包也将自动安装。

但是,您进行的Python开发越多,您需要的软件包就越多。如果您可以将所有软件包安装到一个不会干扰任何其他软件包的“特殊”位置,这不是很好吗?这就是virtualenv的用武之地。它创建了一个虚拟Python解释器,并将为该解释器安装的所有软件包与系统中的其他软件包隔离开来。有很多方法可以派上用场; 我会把它们列为读者的练习,但是如果你想一会儿就可以看出为什么这会派上用场。如果你还不能,那么给自己几周的Python开发,然后在你意识到需要使用virtualenv后再回过头来看看这篇文章。

最后,有一个适用于virtualenv的包装器实用程序恰当地称为virtualenvwrapper。这个包装器可以创建新的虚拟环境,并且在它们之间切换非常简单。不幸的是,它依赖于UNIX shell,这在Windows上是一种痛苦。幸运的是,这个包装器的PowerShell克隆工作得非常好,并为我们的Windows用户提供了我们期望从PowerShell获得的同样出色的功能。

因此,除了定义之外,让我们开始......

确保您可以执行PowerShell脚本

在大多数情况下,本指南假设您实际使用过PowerShell几次并且知道如何运行脚本。但是,如果情况并非如此,那么您要做的第一件事就是使用该Set-ExecutionPolicy命令启用脚本在您的系统上运行。TechNet上有一篇很好的文章详细介绍了这一点,所以我不在这里详细介绍。如果需要,您现在也可以跳过此步骤。如果您在任何时候遇到以下错误消息,请阅读该文章:

...cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details. 获取Python

首先要做的事 - 获取Python!您可以从https://www.python.org/downloads/windows/获取Python 2.7.8(撰写本文时的当前Python 2.x版本)32位安装程序。还有一个64位版本的Python,但我个人发现它比它的价值更麻烦。有些软件包不会提供64位版本,我个人在我所参与的任何项目中都没有发现任何64位版本的需求。如果您愿意,请随意使用64位版本,但本指南假设您使用的是32位版本。

最近的Python安装程序包含一个添加C:\Python27\到路径的显式选项。我发现检查该选项是最容易做的事情,而且通常是你想要的。但是,默认情况下不会选中它,因此请注意并根据需要启用它。如果您不这样做,并且需要稍后手动执行,则使用Windows上的Python文档包含更多详细信息。

不幸的是,安装程序没有添加Scripts(ie C:\Python27\Scripts)子目录,这也是真正需要的,因为这是pip最终安装的地方。所以即使你检查那个盒子的机会,你仍然需要编辑你的路径。

安装Python后,打开PowerShell窗口并键入python并按Enter键。你应该看到这样的东西:

PS C:\> python Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>

按,Ctrl-Z然后按Return键退出Python提示符。如果在键入python“无法将术语'foo'识别为cmdlet,函数,脚本文件或可运行程序的名称” 时出现错误,则Python不在您的路径上。首先添加它,一旦更新路径,重新启动PowerShell以确保加载新路径并python再次尝试键入。你应该好好去!

获得Pip

注意:从Python 2.7.10开始,pip可以作为Python for Windows安装程序的一部分自动安装。如果您这样做,则可以跳过此步骤。

注意:本指南的早期版本包括下载和安装Distribute的步骤。那不再需要了; 只是得到点子。

安装pip的最简单方法是下载get-pip.py脚本,将其保存在本地,然后使用Python运行它。

PS C:\> python get-pip.py Downloading/unpacking pip Downloading/unpacking setuptools Installing collected packages: pip, setuptools Successfully installed pip setuptools Cleaning up... PS C:\>

还有其他方法可以获得pip,但这是我找到的最简单的方法。在pip网站上有更多细节。要检查一切是否正常,只需pip在命令行输入:

PS C:\> pip Usage: pip [options]

如果您收到另一个“命令无法识别”错误,请检查C:\Python27\Scripts\您的路径是否存在。

安装virtualenv和virtualenvwrapper-powershell

现在应该安装Pip,因此键入以下命令以安装virtualenv和PowerShell virtualenvwrapper:

PS C:\> pip install virtualenv PS C:\> pip install virtualenvwrapper-powershell

现在您需要在PowerShell中导入包装器模块,因此请键入Import-Module virtualenvwrapper。您可能会遇到两个错误之一 - 或两者都有。第一个是这样的:

PS C:\> Import-Module virtualenvwrapper Get-Content : Cannot find path 'Function:\TabExpansion' because it does not exist.

不幸的是,这是当前发布的virtualenvwrapper-powershell版本(12.7.8)中的一个错误。据我所知,它实际上并没有在实践中造成任何问题。它似乎已在项目中得到修复,但修复程序还没有成为已发布的版本。我不知道为什么; 我没参与这个项目。

您可能会看到的另一个错误是这样的:

Virtualenvwrapper: Virtual environments directory 'C:\Users\tyler/.virtualenvs' does not exist. Create it or set $env:WORKON_HOME to an existing directory.

好吧,至少你知道你走在正确的轨道上!完成消息所说的内容:创建缺少的目录。

mkdir '~\.virtualenvs'

您可能还想更改存储虚拟环境的位置。为此,请将$env:WORKON_HOME变量设置为要存储它们的位置。我一般坚持使用默认值~\.virtualenvs。无论你做什么,记住这个位置; 它会派上用场。

现在尝试再次导入模块。成功!现在,您可以直接在PowerShell中访问一堆virtualenv管理命令。要查看所有这些,您可以输入:

PS C:\> Get-Command *virtualenv* CommandType Name ModuleName ----------- ---- ---------- Alias cdvirtualenv -> CDIntoVirtualEnvironment virtualenvwrapper Alias cpvirtualenv -> Copy-VirtualEnvironment virtualenvwrapper Alias lsvirtualenv -> Get-VirtualEnvironment virtualenvwrapper Alias mkvirtualenv -> New-VirtualEnvironment virtualenvwrapper Alias rmvirtualenv -> Remove-VirtualEnvironment virtualenvwrapper Alias setvirtualenvproject -> Set-VirtualEnvProject support Function add2virtualenv virtualenvwrapper Function CDIntoVirtualEnvironment virtualenvwrapper Function Copy-VirtualEnvironment virtualenvwrapper Function Get-VirtualEnvironment virtualenvwrapper Function New-VirtualEnvironment virtualenvwrapper Function New-VirtualEnvProject support Function Remove-VirtualEnvironment virtualenvwrapper Function Set-VirtualEnvironment virtualenvwrapper Function Set-VirtualEnvProject support Function showvirtualenv virtualenvwrapper Function VerifyVirtualEnv support Application virtualenv.exe Application virtualenv-2.7.exe Application virtualenv-clone.exe

您会看到有很多不错的PowerShell样式cmdlet,New-VirtualEnvironment但也有一些别名设置将这些cmdlet映射到您可能更熟悉的命令,例如mkvirtualenv。当然,您还可以获得这些cmdlet和别名的常规PowerShell选项卡。

管理virtualenvs

现在我们安装了virtualenv,让我们制作一个新的virtualenv:

New-VirtualEnvironment engineer

替换engineer为你想要称之为virtualenv的任何东西。我通常在我计划使用virtualenv的项目之后命名它,但无论你想要什么工作。

命令完成后,您应该看到如下所示的PowerShell提示符:

(engineer)PS C:\>

该(engineer)添附到您的提示会提醒您目前是的virtualenv中工作。如果您workon现在键入,您应该看到可用的virtualenvs,如果您键入,workon name_of_another_virtualenv您将转到该环境。

PS C:\> workon PathInfo Name PathToScripts PathToSitePackages -------- ---- ------------- ------------------ engineer engineer C:\Users\tyler\.virtuale... C:\Users\tyler\.virtuale... 使用pip安装软件包

现在您的虚拟环境已配置,您可以使用pip将软件包安装到它们中。打开PowerShell提示符,键入workon name_of_virtualenv然后键入pip install package_name。还有一些额外的pip命令可能对我们有用。如果您的项目有很多包需求,那么它可能已经(或者您可能已经编写)了一个需求文件(通常称为requirements.txt)。要将pip加载到该文件中的所有包,请键入:

PS C:\> pip install -r path_to_requirements_file

此外,您可能已手动下载了包中包含文件的包源setup.py。你可以输入以下命令来安装pip:

PS C:\> pip install -e path_to_source

该-e选项还可以直接从Mercurial,Git,Subversion或Bazaar存储库中检出源代码,并从那里安装包。

自动导入virtualenvwrapper PowerShell模块

您可能会注意到 - 可能是在打开新的PowerShell提示符后 - 您无法再使用workon和New-VirtualEnvironment命令。嗯,傻,你忘了导入virtualenvwrapper模块!现在,您可以导入它并继续生活,但这会很快变得烦人,因此您可以配置PowerShell配置文件,以便每次打开PowerShell窗口时都加载模块。首先,您需要找到自己的个人资料。为了使问题更加混乱,实际上有一些PowerShell使用的配置文件。但其中只有一两个与我们真正相关。要查看可用的所有配置文件,请键入:

PS C:\> $profile | Format-List * -Force AllUsersAllHosts : C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 AllUsersCurrentHost : C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1 CurrentUserAllHosts : C:\Users\tyler\Documents\WindowsPowerShell\profile.ps1 CurrentUserCurrentHost : C:\Users\tyler\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 Length : 77

看起来有四个可用的配置文件脚本,并且根据它们的名称,它们都有不同的范围。在我们的例子中,我们可能想要CurrentUserAllHosts配置文件,因为它将在每个PowerShell实例中为我们执行。如果您导航到列出的位置,则可能没有要编辑的文件。在这种情况下,以下命令将以正确的格式创建一个文件:

New-Item -Path $Profile.CurrentUserAllHosts -Type file -Force

或者您可以在您喜欢的文本编辑器中创建一个文件并将其保存在该位置(当然,使用正确的名称)。

在该文件中,将virtualenvwrapper先前用于导入模块的命令放在其中

Import-Module virtualenvwrapper

值得注意的是,这个文件只是一个常规的PowerShell脚本,所以你也可以放入其他内容,比如你想设置的别名等等。无论如何,一旦完成,保存文件并打开一个新的PowerShell窗口。现在workon命令和其他virtualenv cmdlet应该开始运行。

配置IDE

最后一步是让所有内容为开发Python项目做好准备 - 设置IDE以使用适合virtualenv您项目的项目。有几个不同的IDE或你可以摇滚Notepad ++。我个人非常喜欢PyCharm ; 我几乎专门用于Python开发。

如果您正在使用PyCharm,版本2.5 +还内置了支持的virtualenv。您可以直接在PyCharm中创建虚拟环境,也可以使用virtualenvwrapper导入先前创建的虚拟环境。我个人更喜欢后者,因为virtualenvwrapper没有选择PyCharm创建的环境(所以当你使用workon命令时它们不会出现,等等)。

无论如何,如果你想使用现有的virtualenv,你需要告诉PyCharm。该PyCharm支持网站有更多的细节,但要知道事情的关键是,你需要把它指向python.exe你的里面virtualenv的Scripts目录。就我而言,完整的路径是C:\Users\tyler\.virtualenvs\engineer\Scripts\python.exe。

完成所有这些之后你应该好好去!您可以弹出打开PowerShell窗口并根据需要创建/切换到virtualenvs并使用pip安装包。此时,您应该拥有大部分需要遵循大多数Python包的安装说明所需的内容(除了需要C扩展编译的那些,但这是另一篇文章的主题)。

 

 

原文链接:https://www.tylerbutler.com/2012/05/how-to-install-python-pip-and-virtualenv-on-windows-with-powershell/



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有