Pip conf location linux

Python can’t find the file pip.conf

Use the pip to retrieve its location, here is the trick!

python3 -m pip config debug 

It will list global and local env, If it set or otherwise.

As stated in the documentation, the default locations for Linux are:

Beware! pip 20.0 (used in Ubuntu 20.04) has a bug, where it doesn’t read /etc/pip.conf, but only /etc/xdg/pip/pip.conf. This bug was fixed in pip 20.1, but the fix is currently not available in the pip package for Ubuntu 20.04.

it’s worth noticing in those same docs that there is a third option to have a per-virtualenv configuration at $VIRTUAL_ENV/pip.conf .

If you do not have the pip.conf by default, create it on your desired directory and do the export.

export PIP_CONFIG_FILE=/path/to/pip.conf 

Before creating pip.conf I would rather check with the following command before creating one

For me it was under home directory as

I’ve found it in /home/$user_name/.config/pip/pip.conf using your command. I’m running a Linux machine.

Another solution not found in any of the answers about finding the pip.conf files currently used by pip:

if no file is described you should follow most of the other answers and just create it on your own

just create it. ~/pip/pip.conf

So I added this lines to the config file [global] index-url = https://(website link) and I have error ImportError: No module named (from my site )

I am using WSL ubuntu on win10, with only official python3-pip, and cannot find any pip.conf.

I just create ~/.pip/pip.conf , and then it speeds up my sudo pip3 install —upgrade pip !

According to the docs, it could be located in a multitude of places.

In terms of flexibility, I say the section about installing it on virtual environments is probably the most flexible IMO.

If you use a virtual environment for your python projects, then it may be desirable to have your pip.conf inside the virtual environment, than to have it sitting in your home directory.

The reason for this is simple. Say for example you have special projects that require specific pip.conf setup and you don’t want to put the configurations for these projects in the pip.conf in your home directory or the global one, then you might find it makes life easier to create a dummy environment where this configuration lives and simply copy that environment for each new «secret» project.

Читайте также:  Usb image tool linux

Virtualenvwrapper

I will propose a simple way to achieve this with virtualenvwrapper :

mkvirtualenv --python=/path/to/python _python_project_base cp ~/my_secret_pip.conf $VIRTUAL_ENV/pip.conf 

What this allows you to do is that when next you want to create a new project, instead of using mkvirtualenv , you simply do:

cpvirtualenv _python_project_base new_virtual_env_name setvirtualenvproject new_virtual_env_name /path/to/project_folder 

And voila, the same pip.conf follows you everywhere, and you don’t have to worry about polluting your other config files outside the virtual environment.

Источник

location of pip.conf file

I am working on a system that has to work on both Windows and Linux. Its uses Python’s venv module for everything related to Python. I need to create a pip.conf file to activate the pickup of my personal ~/.pip/pip.conf to point it to our internal PyPi server instead of the global one. I also need to be able to hard code the values right into the venv ‘s pip.conf for other scenarios. I can’t figure out where the file should be placed. In short, sometimes I need it to use my personal pip.conf , sometimes I need it to use the venv ‘s pip.conf , on both Linux and Windows (my machine is Windows). The folder structure of my venv after creation is this:

myproject/build/venv/Include /Lib /Scripts 

Where does the pip.conf go? I keep reading in the documentation %virtual_env%/pip.conf but when you don’t know what the value of virtual_env, its a pretty useless statement. My guess is myproject/build/venv/pip.conf , am I right? edit** Well, I was wrong. Putting it in the root of the venv folder didn’t work. I’m going to keep trying, problem is to redeploy this app after each code change takes an hour.

i haven’t tried yet. its an automated process, not a console and changing it is a bitch. I only want to do it once if i can

That’s an unusual venv setup. The common way to do it is to have one umbrella directory housing all venvs. A popular location for this (e.g. that’s how «oh-my-zsh» does it) is ~/.virtualenvs/ . Your «myproject» virtualenv would then be at ~/.virtualenvs/myproject/ and your pip config thus at ~/.virtualenvs/myproject/pip.conf . Your project itself would be in its own directory elsewhere, e.g. ~/projects/myproject/ . It may additionally (quite optional) have a .venv file that explicitly specifies its virtualenv’s location.

Читайте также:  What is var directory in linux

Источник

Configuration#

This page explains how the configuration files and environment variables work, and how they are related to pip’s various command line options.

pip config command, which helps manage pip’s configuration.

Configuration Files#

Configuration files can change the default values for command line option. They are written using a standard INI style configuration files.

pip has 3 “levels” of configuration files:

  • global : system-wide configuration file, shared across users.
  • user : per-user configuration file.
  • site : per-environment configuration file; i.e. per-virtualenv.

Location#

pip’s configuration files are located in fairly standard locations. This location is different on different operating systems, and has some additional complexity for backwards compatibility reasons.

In a “pip” subdirectory of any of the paths set in the environment variable XDG_CONFIG_DIRS (if it exists), for example /etc/xdg/pip/pip.conf .

This will be followed by loading /etc/pip.conf .

$HOME/.config/pip/pip.conf , which respects the XDG_CONFIG_HOME environment variable.

The legacy “per-user” configuration file is also loaded, if it exists: $HOME/.pip/pip.conf .

$HOME/Library/Application Support/pip/pip.conf if directory $HOME/Library/Application Support/pip exists else $HOME/.config/pip/pip.conf

The legacy “per-user” configuration file is also loaded, if it exists: $HOME/.pip/pip.conf .

  • On Windows 7 and later: C:\ProgramData\pip\pip.ini (hidden but writeable)
  • On Windows Vista: Global configuration is not supported.
  • On Windows XP: C:\Documents and Settings\All Users\Application Data\pip\pip.ini

The legacy “per-user” configuration file is also loaded, if it exists: %HOME%\pip\pip.ini

PIP_CONFIG_FILE #

Additionally, the environment variable PIP_CONFIG_FILE can be used to specify a configuration file that’s loaded first, and whose values are overridden by the values set in the aforementioned files. Setting this to os.devnull disables the loading of all configuration files.

Loading order#

When multiple configuration files are found, pip combines them in the following order:

Each file read overrides any values read from previous files, so if the global timeout is specified in both the global file and the per-user file then the latter value will be used.

Naming#

The names of the settings are derived from the long command line option.

As an example, if you want to use a different package index ( —index-url ) and set the HTTP timeout ( —default-timeout ) to 60 seconds, your config file would look like this:

[global] timeout = 60 index-url = https://download.zope.org/ppix 

Per-command section#

Each subcommand can be configured optionally in its own section. This overrides the global setting with the same name.

Читайте также:  Red dead redemption 2 linux

As an example, if you want to decrease the timeout to 10 seconds when running the pip freeze , and use 60 seconds for all other commands:

[global] timeout = 60 [freeze] timeout = 10 

Boolean options#

Boolean options like —ignore-installed or —no-dependencies can be set like this:

[install] ignore-installed = true no-dependencies = yes 

To enable the boolean options —no-compile , —no-warn-script-location and —no-cache-dir , falsy values have to be used:

[global] no-cache-dir = false [install] no-compile = no no-warn-script-location = false 

Repeatable options#

For options which can be repeated like —verbose and —quiet , a non-negative integer can be used to represent the level to be specified:

[global] quiet = 0 verbose = 2 

It is possible to append values to a section within a configuration file. This is applicable to appending options like —find-links or —trusted-host , which can be written on multiple lines:

[global] find-links = http://download.example.com [install] find-links = http://mirror1.example.com http://mirror2.example.com trusted-host = mirror1.example.com mirror2.example.com 

This enables users to add additional values in the order of entry for such command line arguments.

Environment Variables#

pip’s command line options can be set with environment variables using the format PIP_ . Dashes ( — ) have to be replaced with underscores ( _ ).

PIP_FIND_LINKS="http://mirror1.example.com http://mirror2.example.com" 
--find-links=http://mirror1.example.com --find-links=http://mirror2.example.com 

Repeatable options that do not take a value (such as —verbose ) can be specified using the number of repetitions:

Environment variables set to an empty string (like with export X= on Unix) will not be treated as false. Use no , false or 0 instead.

Precedence / Override order#

Command line options override environment variables, which override the values in a configuration file. Within the configuration file, values in command-specific sections override values in the global section.

  • —host=foo overrides PIP_HOST=foo
  • PIP_HOST=foo overrides a config file with [global] host = foo
  • A command specific section in the config file [] host = bar overrides the option with same name in the [global] config file section.

Источник

Оцените статью
Adblock
detector