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