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.

Request: Global configuration file

See original GitHub issue

Hello and thanks for all your work!

I work at an organization where we run a private PyPI (Artifactory) that that hosts some private tools and acts as a caching proxy for the public PyPI. It’s easy enough to configure pip to use this internal pypi using /etc/pip.conf. However, there’s no global configuration file for setuptools. This wouldn’t be a problem, except that we also use some setup_requires build tools, and some of our build environments are isolated from the internet (they have to use our private PyPI proxy). In order to tell setuptools the URL of our proxy, we have resorted to patching virtualenv to modify the $VIRTUAL_ENV/lib/pythonX.Y/distutils/distutils.cfg that it creates, adding our own index_url. However, this is a pain to maintain - we have to rebuild and patch every virtualenv release.

If setuptools would look at, for example, /etc/pydistutils.cfg, then we could put the index_url configuration there. This would let us use the vanilla version of virtualenv while still allowing our builds to use the PyPI proxy.

Does this sound like a direction you’d be willing to go?

Thanks again!

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:2
  • Comments:9 (3 by maintainers)

github_iconTop GitHub Comments

3reactions
pgansslecommented, Feb 12, 2019

@tgs I think the issue is a bug in virtualenv or pip that is breaking the build isolation. You can fix it by tightening the bounds on the build requirements to require setuptools >= 40.8.0 or by explicitly adding a build backend (add the line build-backend = "setuptools.build_meta" below the requires line).

I’ll report the bug to virtualenv later tonight.

0reactions
dmtuckercommented, Feb 16, 2019

One way to mitigate the immediate effects without having to worry about patching anything would be to build and upload wheels for the “pain point” packages on your private PyPI endpoint (which I’m guessing is some sort of pass-through caching proxy).

Might be worth noting that some options preclude wheel usage:

/…/.tox/py27/lib/python2.7/site-packages/pip/_internal/commands/install.py:206: UserWarning: Disabling all use of wheels due to the use of --build-options / --global-options / --install-options.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Global Configurations | MuleSoft Documentation
Name Type Required Default defaultResponseTimeout string no 10000 defaultTransactionTimeout string no 30000 defaultErrorHandler‑ref string no none
Read more >
git-config Documentation - Git
Opens an editor to modify the specified config file; either --system , --global , or repository (default). --[no-]includes. Respect include.* directives in ...
Read more >
Configure — CherryPy 3.2.4 documentation - Read the Docs
Each Request object possesses a single request.config dict. Early in the request process, this dict is populated by merging Global config, Application config, ......
Read more >
Configuration - Prometheus.io
To specify which configuration file to load, use the --config.file flag. The file is written in YAML format, defined by the scheme described...
Read more >
Configuration File | API | Docs - TestCafe
JavaScript configuration files can contain definitions for global test hooks ... require syntax to access Node.js modules inside your configuration file.
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