0

Private pypiserver shows error with C++ build tools, which didn't occur while using default setting(pypi.org).

For some reasons I need to make private pypiserver which has basic python modules - like numpy and pandas.

I had downloaded several whl and tar.gz at pypi.org and uploaded it to my own pypiserver(ubuntu) with twine, and changed client(windows)'s pip.ini with a private pypiserver information.

After this I tried to install modules with 'pip install ' but most of them showed the error like below.

 UserWarning: Unknown distribution option: 'define_macros'
    warnings.warn(msg)
  running bdist_wheel
  running build
  running config_cc
  INFO: unifing config_cc, config, build_clib, build_ext, build commands --compiler options
  running config_fc
  INFO: unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
  running build_src
  INFO: build_src
  INFO: building py_modules sources
  creating build
  creating build\src.win-amd64-3.10
  creating build\src.win-amd64-3.10\numpy
  creating build\src.win-amd64-3.10\numpy\distutils
  INFO: building library "npymath" sources
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  [end of output]

There was no change about C++ redistributions and build tools at a client side, and deleting private pypiserver information from pip.ini makes the error go away.

Please let me know what is the problem. Do I need to install any applications at server side or upload any other modules(like setuptools or wheel) to solve this problem?

  • Look like you are trying to build a `npymath` library. You probably have not installed all the numpy related modules as wheels compatible with your Python version on your private PyPI server, so it is trying to build them from source. – Serge Ballesta Aug 07 '23 at 11:20

1 Answers1

0

I found that I had uploaded cp311 version of modules at my own pypiserver while client had python 3.10. I updated client's python version to 3.11 and now everything works fine. What a idiot...