docker-library / docker-library/python
Package name uppercase problem with windows image
Personne n'a encore pris cette issue.
- Langage dominant
- Dockerfile
- Étoiles
- 2.8k
- Forks
- 1.1k
- Merge moyen
- 3 j 1 h
- PR mergées (30 j)
- 1
Description
Overview
I found a strange pip problem on windows based image related to python packages that are installed with capital letters in their folder name.
The problem is happening when uninstalling a package with uppercase letters in its name, eg: PyPDF2.
I confirm Linux images don't have this problem.
How to reproduce
Here are minimal reproducible steps:
docker pull python:3.13.3-windowsservercore-ltsc2022
docker run --rm -it python:3.13.3-windowsservercore-ltsc2022 powershell
# First install
pip install PyPDF2
python -c "import PyPDF2 as p; print(p.__file__)"
# Prints:
C:\Python\Lib\site-packages\PyPDF2\__init__.py
pip uninstall -y PyPDF2
# 2nd install
pip install PyPDF2
python -c "import PyPDF2 as p; print(p.__file__)"
# Prints:
Traceback (most recent call last):
File "<string>", line 1, in <module>
import PyPDF2 as p; print(p.__file__)
^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'PyPDF2'
# Let's try lowercase:
python -c "import pypdf2 as p; print(p.__file__)"
# Prints:
C:\Python\Lib\site-packages\pypdf2\__init__.py
# Even if:
pip freeze
# Prints:
PyPDF2==3.0.1
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par reproduire la séquence signalée dans l’image python:3.13.3-windowsservercore-ltsc2022 : installez PyPDF2, désinstallez-le, réinstallez-le et comparez les chemins d’importation. Examinez le comportement de l’image Windows autour de pip uninstall et de site-packages ; le travail est considéré comme terminé lorsqu’un package contenant des lettres majuscules peut être désinstallé et réinstallé tout en restant importable sous son nom attendu.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- docker, python
- Domaine
- infrastructure
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 48/100