dulwich on Windows 7 (not)
Ernie Rael
errael at raelity.com
Wed Jul 29 14:31:23 UTC 2020
Cool. I thought I had seen somewhere (an hg-git issue suggestion perhaps?)
that dulwich >= 0.20 was going to become required with 0.9 hg-git.
My mistake (hooray). Thanks for the clarification.
I do have
Package Version
---------- -------
dulwich 0.19.16
installed but when I install TortoiseHg 5.4.2 (back to my original
problem). I got
$ /f/pf/TortoiseHg/hg --version -v
*** failed to import extension hggit from
C:/f/win7pythonstuff/Python27/site-packages/hggit: No module named
dulwich.errors
Mercurial Distributed SCM (version 5.4.2)
What do I need to do, in hgrc or hg-git configuration, to hookup dulwich
if dulwich was not included in the Mercurial binary distribution? Notice
how 'hg version' shows dulwich as part of hggit.
$ hg --version -v
Mercurial Distributed SCM (version 5.1+2-39b98107773a)
Enabled extensions:
evolve external 10.0.0
topic external 0.19.0
hggit external 0.8.13 (dulwich 0.19.11)
-ernie
On 7/29/2020 2:07 AM, Manuel Jacob wrote:
> 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