Skip to content

Free pip on Windows CI#2113

Closed
banesullivan wants to merge 2 commits intomainfrom
maint/free-pip-win
Closed

Free pip on Windows CI#2113
banesullivan wants to merge 2 commits intomainfrom
maint/free-pip-win

Conversation

@banesullivan
Copy link
Copy Markdown
Member

@banesullivan banesullivan commented Jan 30, 2022

pip v22 released yesterday and it is causing Windows CI to fail so I added a HOTFIX in ee85583 which this is reverting.

The error is coming from upstream:

Run pip install --upgrade pip
  pip install --upgrade pip
  shell: C:\Program Files\PowerShell\7\pwsh.EXE -command ". '{0}'"
  env:
    ALLOW_PLOTTING: true
    SHELLOPTS: errexit:pipefail
    CI_WINDOWS: true
    pythonLocation: C:\hostedtoolcache\windows\Python\3.7.9\x64
Requirement already satisfied: pip in c:\hostedtoolcache\windows\python\3.7.9\x64\lib\site-packages (21.3.1)
Collecting pip
  Downloading pip-22.0-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.3.1
    Uninstalling pip-21.3.1:
      Successfully uninstalled pip-21.3.1
ERROR: Could not install packages due to an OSError: [WinError 5] Access is denied: 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\pip-uninstall-2ea7t7u5\\pip.exe'
Consider using the `--user` option or check the permissions.

Error: Process completed with exit code 1.

See https://github.com/pyvista/pyvista/runs/4997669251?check_suite_focus=true#step:4:1

@banesullivan
Copy link
Copy Markdown
Member Author

I imagine this is affecting far more people than just us, so might as well hang tight until it is resolved

@github-actions github-actions bot added the maintenance Low-impact maintenance activity label Jan 30, 2022
@banesullivan
Copy link
Copy Markdown
Member Author

I opened an issue here: pypa/pip#10848

@tkoyama010
Copy link
Copy Markdown
Member

Is it possible to add pip itself to requirements.txt and let Dependabot do the versioning?

@banesullivan
Copy link
Copy Markdown
Member Author

I'm somewhat hesitant to do so... having a bit of trouble articulating why, but:

The only scenario I see us needing to specify pip's version (besides this (hopefully) fluke bug on our CI runner) would be to handle installing another package. In that situation, the upstream package should handle the pip version (and we should be questioning why we're using anything that doesn't support a recent version of pip). Otherwise, because PyVista in noarch, IMO we really should make sure PyVista itself is compatible with most recent versions of pip.

If we added this to the requirements for dependabot to handle, it'd have to be its own requirements_pip.txt file. That's because we'd need to make sure it is actually installed before using pip for any other dependency that might need that version. This wouldn't be bad, and would be a good way to handle this situation but overall it all feels a bit weird to me.

🤷🏼‍♂️ to answer your question: yes, we certainly could do this and it'd handle any scenario where our CI's break because of a pip release moving forward. And because of that, I'm inclined to do so (but still have some hesitancy)

@banesullivan
Copy link
Copy Markdown
Member Author

We actually do require a very recent version of pip in our CI because we use pip cache dir

@MatthewFlamm
Copy link
Copy Markdown
Contributor

I think this is a Windows permissions thing and not a CI thing. See #2137

@banesullivan banesullivan deleted the maint/free-pip-win branch July 22, 2022 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Low-impact maintenance activity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants