Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows Config File Location Inconsistencies #2548

Closed
kpersohn opened this issue Mar 16, 2015 · 11 comments
Closed

Windows Config File Location Inconsistencies #2548

kpersohn opened this issue Mar 16, 2015 · 11 comments
Labels
auto-locked Outdated issues that have been locked by automation OS: windows Windows specific type: docs Documentation related

Comments

@kpersohn
Copy link
Contributor

The documentation (as of writing) says:
User: %APPDATA%\pip\pip.ini
Legacy: %HOME%\pip\pip.ini
Virtualenv: %VIRTUAL_ENV%\pip.ini
Site: %PROGRAMDATA%\PyPA\pip\pip.conf

Based on code inspection and what's actually ignored/respected I think this is reality:
User: %APPDATA%\pip\pip.ini
Legacy: %HOME%\pip\pip.ini
Virtualenv: %VIRTUAL_ENV%\pip.ini
Site: %PROGRAMDATA%\pip\pip.ini (no vendor folder, wrong extension)

From what I read in #309, #1733, and #1978 I think this was the intention:
User: %APPDATA%\pip\pip.conf
Legacy: %HOME%\pip\pip.ini
Virtualenv: %VIRTUAL_ENV%\pip.conf
Site: %PROGRAMDATA%\pip\pip.conf

Basically, I'm proposing to omit the "vendor" folder from the documentation and actually use the .conf extension consistently instead of .ini, except in the legacy case of course.

I'd be happy to propose a reconciliation PR if there's a general consensus I've got my facts straight.

@dstufft
Copy link
Member

dstufft commented Mar 16, 2015

I think that we decided on vendor-less folders because @pfmoore said that was normal enough. If the code does that then that should be updated.

As far as extensions go, I don't feel strongly about what extension Windows uses. I do think if we change it we should make sure the old .ini still work even in the "new" locations.

@kpersohn
Copy link
Contributor Author

I'd be perfectly content just getting the documentation and the code to match the status quo without changing extensions. I just happened to stumble across these discussions on standardizing .conf while trying to figure out why my site-wide config was getting ignored.

@pfmoore
Copy link
Member

pfmoore commented Mar 16, 2015

I'd be inclined to change the docs to match the code (i.e. change the docs for the site location to say %PROGRAMDATA%\pip\pip.ini. That's consistent and a minimal change.

I don't see much benefit switching the extension. .ini is common on Windows, whereas .conf is not. And it's what's been used for a while now, so why change?

@kpersohn
Copy link
Contributor Author

Devil's Advocate: I think someone made an argument for .conf to enable platform-agnostic virtualenvs.

I like a simple change to the docs, though. That's easy enough.

@Ivoz
Copy link
Contributor

Ivoz commented Mar 17, 2015

I'd advocate for while not minding what extension is used, make it the same regardless of operating systems. They can all open text files. pip.*s are for technical users to read and write. Having to change (and know) the extension depending on what operating system you're using is simply a bug bear.

@pfmoore
Copy link
Member

pfmoore commented Mar 17, 2015

My concern is that the file has been pip.ini for a long time now (since 1.4 at least) it's just the location that has changed. I'm not against changing but it's a backward compatibility break.

Outside of tools like tox (which presumably already copes with the ini vs conf issue, if it needs to) how many cases are there where something will need to manage virtualenvs in a cross-platform manner?

@dstufft
Copy link
Member

dstufft commented Mar 17, 2015

It probably doesn't hurt to support both on both systems (if we don't already). If we support both, then it just comes down to which do we document.

@piotr-dobrogost
Copy link

I really don't get hiding features by not documenting them. What's wrong with either supporting something (with proper docs) or not supporting and removing from code and docs? In case there's change in behavior (going from .ini to .conf on Windows here) transition period with warning is all that's needed. I agree with @LVoz that it would be better to be consistent across platforms.

@pfmoore
Copy link
Member

pfmoore commented Mar 17, 2015

Agreed - we should document what we support. Personally, I'm happy with the status quo, but would be willing to switch if people feel it's worth making the change. Supporting both seems like pointless overhead, though (we need to document the order they are used in, deal with bugs from people who didn't read the docs properly and messed up, etc...)

@xavfernandez xavfernandez added type: docs Documentation related OS: windows Windows specific labels Mar 23, 2017
@pradyunsg
Copy link
Member

I don't think anyone's asking for this anymore... closing!

@lock
Copy link

lock bot commented May 28, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot added the auto-locked Outdated issues that have been locked by automation label May 28, 2019
@lock lock bot locked as resolved and limited conversation to collaborators May 28, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-locked Outdated issues that have been locked by automation OS: windows Windows specific type: docs Documentation related
Projects
None yet
Development

No branches or pull requests

7 participants