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

本文详细介绍了如何在Windows上使用PowerShell安装Python、pip和virtualenv,包括启用PowerShell脚本执行、安装Python、获取pip、安装virtualenv和virtualenvwrapper-powershell,以及配置IDE,帮助Python开发者更好地管理环境和安装包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何使用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上一篇很好的文章详细介绍了这一点,所以我不在这里详细介绍。如果需要,您现在也可以跳过此步骤。如果您在任何时候遇到以下错误消息,请阅读该文章:

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">...cannot be loaded because the execution of scripts is disabled on
this system. Please see "get-help about_signing" for more details.</code></span></span>

获取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键。你应该看到这样的东西:

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">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.
>>></code></span></span>

按,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运行它。

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">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:\></code></span></span>

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">PS C:\> pip

Usage:
    pip <command> [options]</code></span></span>

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

安装virtualenv和virtualenvwrapper-powershell

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">PS C:\> pip install virtualenv
PS C:\> pip install virtualenvwrapper-powershell</code></span></span>

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">PS C:\> Import-Module virtualenvwrapper
Get-Content : Cannot find path 'Function:\TabExpansion' because it does not exist.</code></span></span>

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

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">Virtualenvwrapper: Virtual environments directory
'C:\Users\tyler/.virtualenvs' does not exist. Create it or
set $env:WORKON_HOME to an existing directory.</code></span></span>

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-powershell"><span style="color:#268bd2 !important">mkdir</span> <span style="color:#2aa198 !important">'~\.virtualenvs'</span></code></span></span>

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

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">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</code></span></span>

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

管理virtualenvs

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-posh"><span style="color:#859900 !important">New-VirtualEnvironment</span> <span style="color:#268bd2 !important">engineer</span></code></span></span>

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

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">(engineer)PS C:\></code></span></span>

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">PS C:\> workon

PathInfo         Name          PathToScripts                 PathToSitePackages
--------         ----          -------------                 ------------------
engineer         engineer      C:\Users\tyler\.virtuale...   C:\Users\tyler\.virtuale...</code></span></span>

使用pip安装软件包

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">PS C:\> pip install -r path_to_requirements_file</code></span></span>

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">PS C:\> pip install -e path_to_source</code></span></span>

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

自动导入virtualenvwrapper PowerShell模块

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-text">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</code></span></span>

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-posh"><span style="color:#859900 !important">New-Item</span> <span style="color:#268bd2 !important">-Path</span> <span style="color:#268bd2 !important">$Profile</span><span style="color:#93a1a1 !important">.</span><span style="color:#268bd2 !important">CurrentUserAllHosts</span> <span style="color:#268bd2 !important">-Type</span> <span style="color:#268bd2 !important">file</span> <span style="color:#268bd2 !important">-Force</span></code></span></span>

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

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

<span style="color:#61a6d0"><span style="color:#61a6d0"><code class="language-posh"><span style="color:#859900 !important">Import-Module</span> <span style="color:#268bd2 !important">virtualenvwrapper</span></code></span></span>

值得注意的是,这个文件只是一个常规的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你的里面virtualenvScripts目录。就我而言,完整的路径是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/

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值