系统:Win7 64,Python 3.4,Pycharm 3.0.2,MinGW
每当我尝试在Pycharm中或通过命令行安装软件包时,我都会这样:
running install
running build
running build_py
running build_ext
Traceback (most recent call last):
File "C:\Users\MyAccount\Downloads\scandir-master\scandir-master\setup.py", line 48, in <module> 'Programming Language :: Python :: Implementation :: CPython',
File "C:\Python34\lib\distutils\core.py", line 148, in setup dist.run_commands()
File "C:\Python34\lib\distutils\dist.py", line 955, in run_commands self.run_command(cmd)
File "C:\Python34\lib\distutils\dist.py", line 974, in run_command cmd_obj.run()
File "C:\Python34\lib\distutils\command\install.py", line 554, in run self.run_command('build')
File "C:\Python34\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command)
File "C:\Python34\lib\distutils\dist.py", line 974, in run_command cmd_obj.run()
File "C:\Python34\lib\distutils\command\build.py", line 126, in run self.run_command(cmd_name)
File "C:\Python34\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command)
File "C:\Python34\lib\distutils\dist.py", line 974, in run_command cmd_obj.run()
File "C:\Python34\lib\distutils\command\build_ext.py", line 317, in run force=self.force)
File "C:\Python34\lib\distutils\ccompiler.py", line 1031, in new_compiler return klass(None, dry_run, force)
File "C:\Python34\lib\distutils\cygwinccompiler.py", line 282, in __init__ CygwinCCompiler.__init__ (self, verbose, dry_run, force)
File "C:\Python34\lib\distutils\cygwinccompiler.py", line 126, in __init__ if self.ld_version >= "2.10.90":
TypeError: unorderable types: NoneType() >= str()
今天早些时候我得到了#34;无法找到vcvarsall.bat&#34;错误,但用this thread解决了这个问题。
我相信这个问题根源于我在几周前卸载Visual Studio Express,因为我没有使用它。有没有办法绕过这个错误而不再安装VSE?
谢谢!
答案 0 :(得分:3)
有人建议我尝试使用mingw编译helloworld.cpp。它失败了!
我正在使用的说明我只需要安装mingw32-gcc-g ++。这不适合我。使用MinGW Installation Manager,我添加了:
所以正确的指示是:</ p>
打开distutils.cfg并插入两行
[构建]
编译器的mingw32 =
我认为编译器= mingw32是指mingw32.exe可执行文件。默认情况下,该文件不存在!我不得不复制mingw32-c ++。exe并将其重命名为mingw32.exe。
我希望这有助于其他人!
答案 1 :(得分:3)
我在虚拟环境中通过conda install mingw
解决了这个问题,然后放置了
[build]
compiler=msvc
在Lib \ distutils \ distutils.cfg
中答案 2 :(得分:1)
根据zolointo的回答,按照你的指示,cython安装工作正常。我在Windows 7上用Python 3.4.1安装Kivy .Kivy需要Cython。下载Cython并运行安装脚本后,我收到以下错误:
Cython编译问题“错误:无法找到vcvarsall.bat”
研究这个错误让我走上了安装MinGW的道路。如果MinGW安装程序用可选包,doc,lic,bin和dll来安装你。我安装了你上面提到的那些。
如果你跑:
python setup.py build_ext --inplace --compiler = mingw32'
您将获得以以下结尾的错误列表:
TypeError:unorderable类型:NoneType()&gt; = str()
为了解决这个问题,我按照zolointo的说明将MinGW添加到PATH并创建了distutils.cfg文件。那时你可以运行Cython的setup.py,一切正常!
答案 3 :(得分:1)
在使用Python 3.42的Windows 7上,我可以用我发现的in this thread:解决这个问题
转到Python34\Lib
文件夹,在文件夹视图右上角的搜索框中键入dist-info
,然后删除找到的所有文件夹。在我无法通过pip安装任何内容之后,这已经为我工作了两次而没有收到此线程的错误消息。
答案 4 :(得分:1)
它已经在Windows 10 x64,Python 3.5.1上进行了测试。
解决方案:
将编译器设置为msvc(Visual Studio)。
使用以下信息在“C:\ Python35-32 \ Lib \ distutils”文件夹中创建“distutils.cfg”
[build]
compiler=msvc
[build_ext]
compiler=msvc
答案 5 :(得分:0)
这是Python中报告的错误,请参阅:http://bugs.python.org/issue2698