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