0

I have create a private package and simply all things are well. setup.py bdist_wheel simply create the wheel for it and other commands works correct.

also pip install package_xxx.whl works fine and installs the created wheel correctly. but when I try to pip install the package from a requirement file or git repo or local path, it sucks...

As you know the pip will call setup.py file

In my case the setup.py file called twice with following arguments: (captured from sys.argv)

['-c', 'egg_info', '--egg-base', 'pip-egg-info']
['-c', 'install', '--record', '/long/path/to/install-record.txt', '--single-version-externally-managed', '--compile']

but for example if I pip install coverage the setup.py file of coverage package called twice with following:

['-c', 'egg_info', '--egg-base', 'pip-egg-info']
['-c', 'bdist_wheel', '-d', '/long/path/to/tmp82jyoapip-wheel-', '--python-tag', 'cp27']

the first call to setup.py in my package and the coverage.py package is same and pip gets the egg-info data. then it call setup.py bdist_wheel on coverage.py (the desired behavior) but call setup.py install on my package (broken behavior) that lead to create egg-like project not wheel one.

my setup.py file is in following gist: https://gist.github.com/wtayyeb/f26578fe6ff17dc6acd3

it is beside other files in the package and as I say all things are working except pip install /path/to/mypackage

Thanks.

wtayyeb
  • 1,879
  • 2
  • 18
  • 38

1 Answers1

0

The problem was in folder name that containes setup.py. I have found it with inspecting pip and found the critical check which was direct the process to legacy method. see below link if you intrest in it.

https://stackoverflow.com/a/35590238/875667

Community
  • 1
  • 1
wtayyeb
  • 1,879
  • 2
  • 18
  • 38