PMXBOT Log file Viewer

Help | Karma | Search:

#pypa logs for Monday the 27th of June, 2016

(Back to #pypa overview) (Back to channel listing) (Animate logs)
[08:42:30] <MarkusH> Is there any way to force dependencies of a package to not be installed as .egg if I don't have control over them?
[10:23:55] <mgedmin> MarkusH: are you looking for easy_install --always-unzip?
[10:24:18] <mgedmin> why not use pip instead? pip never installs .egg files
[10:26:00] <MarkusH> mgedmin: mgedmin well, "pip install -e ." does install .eggs
[10:26:06] <MarkusH> at least here
[10:26:17] <MarkusH> and I have no idea where to start digging
[10:27:12] <mgedmin> you don't want develop-eggs either?
[10:27:17] <mgedmin> but those are awesome!
[10:27:32] <MarkusH> mgedmin: nope, I don't want them
[10:27:42] <mgedmin> don't use pip instal -e then
[10:27:49] <MarkusH> what else?
[10:28:08] <mgedmin> it would be easier to answer your questions if I understood what you're trying to do
[10:29:00] <mgedmin> the reason I personally avoid zipped eggs is because you can't grep in zip files, and you can't build ctags out of zip files
[10:29:09] <MarkusH> Well, I have a python package with a bunch of dependencies. When I install the package inside a virtualenv I get the dependencies installed as .egg files and not plain ".py" files
[10:29:22] <MarkusH> mgedmin: exactly, that's why I don't want eggs
[10:29:40] <mgedmin> pip install will never create zipped .egg files
[10:29:55] <MarkusH> And I have no idea why pip / setuptools / TheToolThatDoesThatMagic suddenly installs .egg files
[10:30:03] <mgedmin> things like easy_install or setup.py develop might
[10:30:39] <mgedmin> then there's the extra fun corner case where a package uses setup_requires
[10:31:06] <mgedmin> when those are missing, setuptools puts some .egg files into a .eggs/ directory
[10:31:16] <mgedmin> but it shouldn't be installing anything into your virtualenv's site-packages
[10:31:19] <MarkusH> I only have install_requires in my setup.py
[10:31:30] <MarkusH> mgedmin: exactly, I totally agree
[10:31:31] <mgedmin> so: what's the tool you use to install stuff? what .egg files get created?
[10:31:32] <MarkusH> but it does
[10:32:30] <MarkusH> "pip install -i http://company-index-server/simple/ -e ." -- our devpi provides only source pages, no eggs
[10:34:49] <MarkusH> oh, sorry, missed that
[10:35:45] <MarkusH> I'd say all, would need to look into details: e.g. pyOpenSSL: Installed /home/markus/.venvs/lp-webshell/lib/python2.7/site-packages/pyOpenSSL-16.0.0-py2.7.egg
[10:36:06] <MarkusH> or Installed /home/markus/.venvs/lp-webshell/lib/python2.7/site-packages/responses-0.5.1-py2.7.egg
[10:36:11] <mgedmin> wow
[10:36:18] <MarkusH> yes
[10:36:33] <mgedmin> what does pip --version say?
[10:36:38] <MarkusH> 8.1.1
[10:37:15] <MarkusH> because our devpi is too old to properly handle . in package names (we can't upgrade to pip 8.1.2)
[10:37:45] <MarkusH> erm, let me rephrase that
[10:38:26] <MarkusH> we can't use pip 8.1.2 because our devpi version is too old and incompatible with the normalization re '.' in package names
[10:38:39] <MarkusH> https://github.com/pypa/pip/issues/3666
[10:41:09] <MarkusH> just tried to setup tox and install the dependencies in there
[10:41:12] <MarkusH> that works :)
[10:42:05] <MarkusH> tox has skipsdist=True, usedevelop=True and pip_pre=True
[10:42:31] <MarkusH> which makes me wonder what I'm doing differently ...
[14:40:50] <singingwolfboy> Question: I'm trying to use "pip install" to install a Python package that is on a mounted read-only filesystem. Pip tries to create files in the .egg-info directory, which fails. Is there a way to tell pip *not* to do that, or to do that in a different directory that is not mounted & read-only?
[14:46:43] <apollo13> singingwolfboy: well, if pip cannot write the .egg-info that it also cannot write the rest of the data…
[14:47:19] <singingwolfboy> apollo13: only the directory containing the Python package is on a read-only filesystem. The rest of the filesystem is writable, including the location where I have my virtualenv.
[14:47:38] <apollo13> singingwolfboy: try -b to change the build dir?
[14:48:26] <singingwolfboy> apollo13: I'll give that a shot
[15:11:55] <singingwolfboy> apollo13: looks like --build wasn't what I needed -- this fails when pip executes "setup.py egg_info". However, there's an --egg-base option I can pass, which changes the directory.
[15:12:05] <singingwolfboy> apollo13: now I'm trying to figure out how to pass that in from the pip install
[15:12:24] <apollo13> pip install --help lists --global-option or --install-option as option
[15:12:36] <wiggy> isn't it easiser to copy the package to a writable filesystem ?
[15:12:44] <wiggy> or add a writable fs layer on top of it ?
[15:12:59] <singingwolfboy> wiggy: it's a security thing :/
[15:13:28] <apollo13> lmao :þ
[15:16:44] <singingwolfboy> looks like this is the culprit: https://github.com/pypa/pip/blob/master/pip/req/req_install.py#L425
[15:17:31] <singingwolfboy> it doesn't appear that there's a way to customize the --egg-base parameter at all. It's "pip-egg-info" or nothing.
[17:42:05] <carlwgeorge> I know about the predictable url structure for source tarballs (https://github.com/pypa/warehouse/issues/1239). Is there an equivalent for wheel files?
[17:51:15] <dstufft> carlwgeorge: all the same URLs that used to exist at pypi.python.org/packages/ exist at files.python.org
[17:51:18] <dstufft> er
[17:51:20] <dstufft> files.pythonhosted.org
[17:53:32] <carlwgeorge> dstufft: Do you recall what the wheel urls looked like before then? This url returns 404: https://files.pythonhosted.org/packages/source/p/pip/pip-8.1.2-py2.py3-none-any.whl
[17:54:12] <dstufft> instead of source you'd use the pyversion provided by the package when they uploaded the file
[17:54:38] <dstufft> in the case of pip, you'd use py2.py3
[17:54:55] <carlwgeorge> that did it, thanks!
[18:37:24] <guest__> hi
[18:38:59] <guest__> a question: i have several versions of a package installed into /usr/lib/python3.4/site-packages
[18:39:14] <guest__> cryptography-1.2.3-py3.4.egg-info cryptography-1.3.1-py3.4.egg-info cryptography-1.3.2-py3.4.egg-info cryptography-1.4-py3.4.egg-info
[18:39:27] <guest__> when i do `import cryptography'
[18:40:24] <guest__> or, rather, pkg_resources.iter_entry_points(...)
[18:40:35] <guest__> how does pkg_resources decide which version to use?