question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Debian-specific behavior lost when Setuptools adopts distutils

See original GitHub issue

pip install -e $PACKAGE_PATH installs commands to /usr/bin and not /usr/local/bin on Ubuntu as it did in the past.

pip install $PACKAGE_PATH continues to install to /usr/local/bin as expected.

Openstack downstream has temporarily capped setuptools until we know if this is expected behaviour or not. Please see http://lists.openstack.org/pipermail/openstack-discuss/2020-July/015779.html for more context.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:34 (27 by maintainers)

github_iconTop GitHub Comments

3reactions
encukoucommented, Aug 25, 2020

I only found out about this issue now 😦 Fedora is also affected. Is there a supported way to make distutils install to /usr/local/ by default, but still allow building installing into /usr/ (for system packages)? For reference, the Fedora patch is here.

cc @hroncok

2reactions
Kixunilcommented, Jul 25, 2020

Can someone explain to me why this is Debian-related? Putting stuff in /usr goes against Linux FHS, which explicitly states:

The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts, but not found in /usr.

Locally installed software must be placed within /usr/local rather than /usr unless it is being installed to replace or upgrade software in /usr.

So putting anything outside /usr/local can cause trouble on all Linux distributions, not just Debian.

Sorry if I’m missing something, I’m newbie in setuptools.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to fix 'UserWarning: Distutils was imported before ...
This may lead to undesirable behaviors or errors. To avoid these issues, avoid using distutils directly, ensure that setuptools is installed ...
Read more >
This Way Up: A Bottom-Up Look At Python Packaging
Setuptools provides a python setup.py develop (or pip install -e . ) command which can be used to 'install' a source checkout in...
Read more >
History - setuptools 65.6.3.post20221216 documentation
#3206: Fixed behaviour when both install_requires (in setup.py ) and dependencies (in pyproject.toml ) are specified. The configuration in pyproject.toml will ...
Read more >
Go (golang) packaging, part 2 - Google Groups
Hi, I have been in contact with a few Go people and we have worked out the following: Go libraries (not binaries!) should...
Read more >
https://us.cloud-images.ubuntu.com/releases/bionic...
debian/patches/*: - Apply ubuntu/debian specific changes of 10_linux to ... add missing unit tests for special devmode rules/behavior - cmd/snap-confine: ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found