dulwich on Windows 7 (not)

Manuel Jacob me at manueljacob.de
Wed Jul 29 09:07:51 UTC 2020


hg-git 0.9.0a1 (https://pypi.org/project/hg-git/0.9.0a1/) is Python 
3.x-compatible. Python 2.7 support definitively won’t be dropped in 
hg-git this year.

The Windows installer for Mercurial itself has some problems with Python 
3: https://bz.mercurial-scm.org/show_bug.cgi?id=6366

Hg-git requires dulwich>=0.19.0. Dulwich 0.20.0 dropped Python 2 
support, so you’ll need to install dulwich 0.19.x for Python 2 support. 
E.g. this one has wheels for Python 2: 
https://pypi.org/project/dulwich/0.19.16/#files . Hg-git will support 
dulwich 0.19.x until Python 2 support is dropped (which won’t happen 
this year).

On 2020-07-29 09:06, Ernie Rael wrote:
> Ah, now I remember... dulwich, and I guess upcoming hg-git 0.9 aren't
> python 2.7 on windows compatible.
> 
> On windows 7, running python 2.7.18. Several tools I use, in
> particular mercurial and extensions, aren't quite 3.8 ready as far as
> I've heard. At least the binaries I install for Mercurial have an
> embedded python 2.7.
> 
> Are they ready for python 3.8?
> 
> A few months ago I did install "Microsoft Visual C++ Compiler Package
> for Python 2.7. But the install of dulwich fails when building. Can't
> find 'stdint.h', see below. Searching around seems to indicate I'm
> using an old c compiler; well, that's true.
> 
> Seems to be a catch-22. I need python 2.7, and the required compiler
> is too old for dulwich 0.20. And dulwich 0.20 is required for the soon
> to be latest hg-git.
> 
> See https://wiki.python.org/moin/WindowsCompilers/ for reference
> 
> Including dulwich binaries with hg (plain or Tortoise) would be
> greatly appreciated, at least until hg binaries are released with a
> modern python; assuming the required uSoft compiler will compile
> dulwich.
> 
> -ernie
> 
> 
> C:\Users\err>python -m pip install -U dulwich
> DEPRECATION: Python 2.7 reached the end of its life on January 1st,
> 2020. Please upgrade your Python as Python 2.7 is no longer
> maintained. pip 21.0 will drop support for Python 2.7 in January 2021.
> More details about Py thon 2 support in pip, can be found at
> https://pip.pypa.io/en/latest/development/release-process/#python-2-support
> Collecting dulwich
>   Using cached dulwich-0.20.2.tar.gz (376 kB)
> Requirement already satisfied, skipping upgrade: urllib3>=1.24.1 in
> c:\f\win7pythonstuff\python27\site-packages (from dulwich) (1.25.8)
> Requirement already satisfied, skipping upgrade: certifi in
> c:\f\win7pythonstuff\python27\site-packages (from dulwich) (2020.6.20)
> Building wheels for collected packages: dulwich
>   Building wheel for dulwich (setup.py) ... error
>   ERROR: Command errored out with exit status 1:
>    command: 'C:\f\pf\Python27\python.exe' -u -c 'import sys,
> setuptools, tokenize; sys.argv[0] = '"'"'f:\\tmp\
> \pip-install-tsd7bx\\dulwich\\setup.py'"'"';
> __file__='"'"'f:\\tmp\\pip-install-tsd7bx\\dulwich\\setup.py'"'"'
> ;f=getattr(tokenize, '"'"'open'"'"',
> open)(__file__);code=f.read().replace('"'"'\r\n'"'"',
> '"'"'\n'"'"');f.clo
> se();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d
> 'f:\tmp\pip-wheel-rhlm9b'
>        cwd: f:\tmp\pip-install-tsd7bx\dulwich\
>   Complete output (295 lines):
>   running bdist_wheel
>   .........
>   building 'dulwich._objects' extension
>   creating build\temp.win-amd64-2.7
>   creating build\temp.win-amd64-2.7\Release
>   creating build\temp.win-amd64-2.7\Release\dulwich
>   C:\Users\err\AppData\Local\Programs\Common\Microsoft\Visual C++ for
> Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG
> -IC:\f\pf\Python27\include -IC:\f\pf\Python27\PC /Tcdulwich/_objects.c
> /Fobuild\temp.win-amd64-2.7\Release\dulwich/_objects.obj
>   _objects.c
>   C:\Users\err\AppData\Local\Programs\Common\Microsoft\Visual C++ for
> Python\9.0\VC\Bin\amd64\link.exe /DLL /nologo /INCREMENTAL:NO
> /LIBPATH:C:\f\pf\Python27\libs /LIBPATH:C:\f\pf\Python27\PCbuild\amd64
> /LIBPATH:C:\f\pf\Python27\PC\VS9.0\amd64 /EXPORT:init_objects
> build\temp.win-amd64-2.7\Release\dulwich/_objects.obj
> /OUT:build\lib.win-amd64-2.7\dulwich\_objects.pyd
> /IMPLIB:build\temp.win-amd64-2.7\Release\dulwich\_objects.lib
> /MANIFESTFILE:build\temp.win-amd64-2.7\Release\dulwich\_objects.pyd.manifest
>   _objects.obj : warning LNK4197: export 'init_objects' specified
> multiple times; using first specification
>      Creating library
> build\temp.win-amd64-2.7\Release\dulwich\_objects.lib and object
> build\temp.win-amd64-2.7\Release\dulwich\_objects.exp
>   building 'dulwich._pack' extension
>   C:\Users\err\AppData\Local\Programs\Common\Microsoft\Visual C++ for
> Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG
> -IC:\f\pf\Python27\include -IC:\f\pf\Python27\PC /Tcdulwich/_pack.c
> /Fobuild\temp.win-amd64-2.7\Release\dulwich/_pack.obj
>   _pack.c
>   dulwich/_pack.c(23) : fatal error C1083: Cannot open include file:
> 'stdint.h': No such file or directory
>   error: command
> 'C:\\Users\\err\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual
> C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2
>   ----------------------------------------
>   ERROR: Failed building wheel for dulwich
> 
> _______________________________________________
> Mercurial mailing list
> Mercurial at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial



More information about the Mercurial mailing list