PMXBOT Log file Viewer

Help | Karma | Search:

#pypa logs for Tuesday the 12th of April, 2016

(Back to #pypa overview) (Back to channel listing) (Animate logs)
[13:23:45] <henbruas> If pip is installed through my package manager, is it a bad idea to upgrade it using "pip install -U pip"?
[13:27:24] <pjdelport> henbruas: Yes, probably.
[13:27:42] <pjdelport> If you want a newer pip, bootstrap it into your user directory with pip install -U --user pip
[13:27:54] <pjdelport> (And make sure ~/.local/bin is in your PATH.)
[19:03:46] <alynpost> Hello everyone. I've got a python package that works when I run python setup.py install. The package has a compiled binary, an embedded/C module, and a Python module. I'm replacing the install command in distutils to install my package.
[19:03:53] <alynpost> Now I want to install this package using pip.
[19:04:28] <alynpost> but pip install https://.../ is running python setup.py bdist_wheel
[19:04:48] <alynpost> I'd rather it not do that; I don't want to create a wheel package yet. I'm having trouble tracing through pip to figure out why it tries running this command though.
[19:05:04] <ngoldbaum> alynpost: why monkeypatch distutils?
[19:05:22] <alynpost> ngoldbaum: I generate several C files which I then compile in to a library.
[19:05:54] <alynpost> The project is first and foremost make-based; I want to support installing via python setup.py, but I have a build system already and would prefer to call through in to it.
[19:06:14] <alynpost> which for my simple case, python setup.py install, works quite well.
[19:06:35] <ngoldbaum> the conventional way to do that is to create one or more setuptools.extension.Extension objects and pass them to setup's ext_modules keyword argument
[19:06:43] <alynpost> I can take all the setup.py/distutil parameters, convert them to my build variables, and things work like I expect.
[19:07:04] <alynpost> I'd like to have pip just run this same build when I install.
[19:07:32] <alynpost> I am not doing that momently.
[19:07:43] <alynpost> I'm happy to add that parameter to setup.py if that will quiet pip though.
[19:08:11] <tdsmith> iirc if you make bdist_wheel fail pip will fall back to just installing
[19:08:22] <alynpost> hrm, nice.
[19:08:38] <tdsmith> the idea is to cache built wheels to make subsequent installations on the same machine faster
[19:08:54] <alynpost> indeed, I will in fact develop this build in to something that supports wheels.
[19:09:08] <alynpost> And truly I already produce binary packages for the platforms I need to operate on.
[19:09:37] <alynpost> I'm today tired of fighting disttools and want to come back to it later. :-/
[19:10:03] <ngoldbaum> alynpost: in general, you'll probably be happier if you rely on setuptools instead of distutils
[19:10:06] <ngoldbaum> for future reference
[19:10:11] <ngoldbaum> distutils is kind of awful
[19:10:40] <tdsmith> it's still distutils underneath
[19:11:20] <alynpost> My goal state is to have something that can be installed via pip in python 2.7.
[19:11:46] <alynpost> So long as I am compatible with that I'll use whatever is available; I still haven't quite filled in my history of how these tools developed and when.
[19:11:58] <alynpost> so I still find pieces a bit confusing.
[19:12:28] <ngoldbaum> i believe the source of truth in terms of best practices is https://python-packaging-user-guide.readthedocs.org/en/latest/
[19:13:22] <alynpost> good, ok. I don't suppose there is a good reference in the same vein? I've been surprised at how many tutorials I find and how little reference docs I've managed to uncover.
[19:14:15] <ngoldbaum> what do you mean by a reference exactly? Something more detailed than the packaging user guide?
[19:15:19] <alynpost> It must be this: https://pythonhosted.org/setuptools/
[19:15:40] <alynpost> the two pain points I've had was finding the kwargs to setup() and a good reference on what kinds of things Imight put in setup.cfg.
[19:15:54] <ngoldbaum> yeah, i would look at the setuptools docs for that
[19:44:22] <alynpost> ngoldbaum, tdsmith: migrating my setup.py script from distutils to setuptools looks to have addressed my issue; bdist_wheel fails and then pip calls install, which succeeds.
[19:44:26] <alynpost> Thank you both for your help.