我尝试使用pip install spacy
安装spaCy但我收到以下错误..
我安装了VS 2015,并且我安装了以下Python ..
3.5.2 |Anaconda 2.5.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)]
我尝试了以下SO解决方案无济于事。
以及其他各种。这不是这个特定库的一个独特问题,但更常见的是我尝试安装需要C在Windows上构建的Python库。
答案 0 :(得分:32)
您的cl.exe
可能需要PATH
。
PATH
是一个环境变量,它告诉Windows在您给它命名时在哪里可以找到可执行文件。默认情况下,它包含C:\Windows
。
首先,如果尚未安装,请从Visual Studio安装程序安装 Visual C ++生成工具。然后执行以下操作之一:
PATH
。手动将cl.exe
文件夹添加到PATH
。
您要查找的文件夹通常为(visual studio folder)\VC\bin
。可以找到说明in this answer。在此之后,您可以使用任何命令提示符中的cl.exe
。 请注意,您必须在此之后重新启动命令提示符才能更新其中的PATH
。
答案 1 :(得分:16)
这是最简单的解决方案。 对于那些不知道如何做的人:
安装C ++编译器 http://landinghub.visualstudio.com/visual-cpp-build-tools
转到安装文件夹(在我的情况下): C:\ Program Files(x86)\ Microsoft Visual C ++构建工具
打开Visual C ++ 2015 x86 x64交叉构建工具命令提示符
输入:pip install package_name
答案 2 :(得分:8)
在我的情况下,我需要从Visual Studio安装更多工具(我使用VS 2017社区和Python 3.6.4)。我安装了这些工具(请参阅安装程序屏幕截图here):
使用C ++开发桌面:我包含了所有默认项目和下一个项目:
使用C ++进行Linux开发
然后我将 Windows PowerShell 打开为管理员权限(右键单击打开)并移动Visual Studio安装文件夹并找到该路径:
cd [Visual Studio Path]\VC\Auxiliary\Build
然后我执行了这个文件:
.\vcvars32.bat
之后我正常使用pip,例如,我想安装 Mayavi :
pip install mayavi
我希望它也有助于某人。
答案 3 :(得分:2)
刚刚补充了Kunal Mathur的回答以及对@mockash的回答,因为由于缺乏声誉我无法发表评论。
键入之前:pip install package_name,需要将目录更改为pip.exe所在的文件夹。例如:
打开Visual C ++ 2015 x86 x64交叉构建工具命令提示符 - > 更改目录cd C:\用户\测试\应用程序数据\本地\程序\ Python的\ Python36-32 \脚本 - >类型: pip install package_name
但奇怪的是我只能通过'Visual C++ 2015 x64 x86' not 'x86 x64'
答案 4 :(得分:2)
请参阅此链接:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#cytoolz
为你的python版本下载正确的whl软件包(如果你不知道你有什么版本的python,只需要翻译午餐)
使用pip来安装软件包,假设文件在downloads文件夹中并且你有python 3.6 32位:
python -m pip install C:\ Users \%USER%\ Downloads \ cytoolz-0.9.0.1-cp36-cp36m-win32.whl
这对于此软件包无效,但对于任何无法在您自己的Windows安装下编译的软件包都无效。
答案 5 :(得分:1)
我在Visual Studio 2017中遇到了同样的问题。
您可以在以下位置找到cl.exe C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ VC \ Tools \ MSVC \ 14.16.27023 \ bin \ Hostx86 \ x86。
只需将环境变量设置为可访问的地址,然后在anaconda中运行命令,它对我有用。
答案 6 :(得分:0)
我多次遇到这个问题。有import UIKit
import PlaygroundSupport
class FilterViewController: UIViewController {
var filterView: UIView!
var scrollView: UIScrollView!
var containerView: UIView!
override func loadView() {
filterView = UIView()
view = filterView
view.backgroundColor = #colorLiteral(red: 0.909803926944733, green: 0.47843137383461, blue: 0.643137276172638, alpha: 1.0)
scrollView = UIScrollView()
scrollView.backgroundColor = #colorLiteral(red: 0.474509805440903, green: 0.839215695858002, blue: 0.976470589637756, alpha: 1.0)
view.addSubview(scrollView)
scrollView.translatesAutoresizingMaskIntoConstraints = false
scrollView.topAnchor.constraint(equalTo: view.topAnchor, constant: 40).isActive = true
scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
scrollView.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true
scrollView.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.25).isActive = true
scrollView.isScrollEnabled = true
containerView = UIView()
containerView.backgroundColor = #colorLiteral(red: 0.176470592617989, green: 0.498039215803146, blue: 0.756862759590149, alpha: 1.0)
scrollView.addSubview(containerView)
containerView.translatesAutoresizingMaskIntoConstraints = false
// This is key: connect all four edges of the containerView to
// to the edges of the scrollView
containerView.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
containerView.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor).isActive = true
containerView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor).isActive = true
containerView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true
// Making containerView and scrollView the same height means the
// content will not scroll vertically
containerView.heightAnchor.constraint(equalTo: scrollView.heightAnchor).isActive = true
}
class Buttons {
let button = UIButton()
init(titleText: String) {
button.backgroundColor = #colorLiteral(red: 0.976470589637756, green: 0.850980401039124, blue: 0.549019634723663, alpha: 1.0)
button.setTitle(titleText, for: .normal)
}
}
override func viewDidLoad() {
super.viewDidLoad()
let b1 = Buttons(titleText: "one")
let b2 = Buttons(titleText: "two")
let b3 = Buttons(titleText: "three")
let b4 = Buttons(titleText: "four")
let b5 = Buttons(titleText: "five")
let buttonArray = [b1, b2, b3, b4, b5]
var startPoint = containerView.leadingAnchor
for btn in buttonArray {
let theBtn = btn.button
containerView.addSubview(theBtn)
theBtn.translatesAutoresizingMaskIntoConstraints = false
theBtn.leadingAnchor.constraint(equalTo: startPoint, constant: 20).isActive = true
theBtn.topAnchor.constraint(equalTo: containerView.topAnchor).isActive = true
theBtn.bottomAnchor.constraint(equalTo: containerView.bottomAnchor).isActive = true
theBtn.widthAnchor.constraint(equalTo: theBtn.heightAnchor).isActive = true
startPoint = theBtn.trailingAnchor
}
// Complete the chain of constraints
containerView.trailingAnchor.constraint(equalTo: startPoint, constant: 20).isActive = true
}
}
let filterViewController = FilterViewController()
PlaygroundPage.current.liveView = filterViewController
,但是由于某些奇怪的原因,*, *::before, *::after {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
找不到它,即使我们从存在cl.exe
的{{1}}文件夹中运行命令。尝试使用conda安装程序,对我来说效果很好。
如下图所示,pip
无法找到bin
。然后我尝试使用conda
令我惊讶的是,一旦您安装了正确版本的vs cpp构建工具,即正确目录中的v14.0,它就可以正确安装。
答案 7 :(得分:0)
例如: conda install -c conda-forge spacy
答案 8 :(得分:0)
如果您希望自动化非常简单且令人愉快,请查看Chocolatey.org/install,您基本上可以复制并粘贴这些命令,然后根据所需的VC ++版本对其进行调整。
此命令取自https://chocolatey.org/install
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
一旦安装了巧克力,就可以关闭然后重新打开Powershell终端或运行以下命令:
Import-Module "$env:ChocolateyInstall\helpers\chocolateyInstaller.psm1" ; Update-SessionEnvironment
现在,您可以使用Chocolatey安装Python(默认为3.x最新版本)。
choco install python
# This next command installs the latest VisualStudio installer that lets you get specific versions of the build
# Microsoft has replaced the 2015 and 2017 installer links with this one, and we can still use it to install the 2015 and 2017 components
choco install visualstudio2019buildtools --package-parameters "--add Microsoft.VisualStudio.Component.VC.140 --passive --locale en-US --add Microsoft.VisualStudio.Component.Windows10SDK.$($PSVersionTable.BuildVersion.Build) --no-includeRecommended" -y --timeout 0
# Usually need the "unlimited" timeout aka "0" because Visual Studio Installer takes forever
# Tool portion
# Microsoft.VisualStudio.Product.BuildTools
# Component portion(s)
# Microsoft.VisualStudio.Component.VC.140
# Win10SDK needs to match your current Win10 build version
# $($PSVersionTable.BuildVersion.Build)
# Microsoft.VisualStudio.Component.Windows10SDK.$($PSVersionTable.BuildVersion.Build)
# Because VS2019 Build Tools are dumb, need to manually link a couple files between the SDK and the VC++ dirs
# You may need to tweak the version here, but it has been updated to be as dynamic as possible
# Use an elevated Powershell or elevated cmd prompt (if using cmd.exe just use the bits after /c)
cmd /c mklink "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\rc.exe" "C:\Program Files (x86)\Windows Kits\10\bin\$($PSVersionTable.BuildVersion.Major).$($PSVersionTable.BuildVersion.Minor).$($PSVersionTable.BuildVersion.Build).0\x64\rc.exe"
cmd /c mklink "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\rcdll.dll" "C:\Program Files (x86)\Windows Kits\10\bin\$($PSVersionTable.BuildVersion.Major).$($PSVersionTable.BuildVersion.Minor).$($PSVersionTable.BuildVersion.Build).0\x64\rcdll.dll"
一旦安装了此软件,则应重新启动。有时候我不需要重启就可以正常工作,但是如果您先重启,则pip install
命令将最有效。
现在您可以pip install pipenv
或pip install complex-package
了,应该可以了。