Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python - Can't Install Packages: TypeError: unorderable types: NoneType() >= str()

System: Win7 64, Python 3.4, Pycharm 3.0.2, MinGW

Whenever I try to install a package, in Pycharm or via command line, I get this:

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()

Earlier today I was getting the "Unable to find vcvarsall.bat" error, but solved that with this thread.

I believe this problem was rooted in me uninstalling Visual Studio Express a few weeks back as I wasn't using it. Is there a way to get around this error without installing VSE again?

Thanks!

like image 497
zolointo Avatar asked Jul 10 '14 17:07

zolointo


3 Answers

I solved this problem by conda install mingw in my virtual environment and then placing

[build]
compiler=msvc

in Lib\distutils\distutils.cfg

like image 198
maggie Avatar answered Nov 04 '22 11:11

maggie


Someone recommended I try to compile a helloworld.cpp with mingw. It failed!

The instructions I was using said I only needed to install mingw32-gcc-g++. This didn't work for me. Using the MinGW Installation Manager, I added:

  • mingw-developer-toolkit
  • mingw32-base
  • msys-base
  • mingw32-gcc-g++ (already installed previously)

So the proper instructions are:

  1. Download the mingw-get-setup.exe installer from here: http://sourceforge.net/projects/mingw/files/Installer/
  2. Run it
  3. Install the packages mentioned above
  4. Add c:\mingw\bin\ to your path environment variable
  5. Goto c:\python34\Lib\distutils\ and create distutils.cfg
  6. Open the distutils.cfg and insert two lines

    [build]

    compiler=mingw32

I think that compiler=mingw32 refers to mingw32.exe executable. That file didn't exist by default for me! I had to make a copy of mingw32-c++.exe and rename it mingw32.exe.

I hope this helps someone else!

like image 38
zolointo Avatar answered Nov 04 '22 11:11

zolointo


Set the compiler to the msvc (Visual Studio)

It has been tested on Windows 10 x64, Python 3.5.1.

Solution:

Set the compiler to the msvc (Visual Studio).

Create "distutils.cfg" in the "C:\Python35-32\Lib\distutils" folder with the following information

[build]
compiler=msvc

[build_ext]
compiler=msvc

Link: https://wiki.python.org/moin/WindowsCompilers

like image 23
Maks Avatar answered Nov 04 '22 12:11

Maks