The 'stdlib compileall' function writes stage directory into *.pyc files
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 36k
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 558
Descripción
Description
I need to install a python package into a stage directory.
The command I run from the source directory is:
pip install {my-pkg-name} --isolated --root=/tmp/stage/dir --prefix=/usr/local --ignore-installed --no-deps
This command installs the package into the right location, but *.cpython-39.pyc files have full paths to *.py files in the stage directory.
If paths of *.py are needed they should be adjusted so that they should begin with prefix (/usr/local). This is because the source directory will be deleted before the package is run.
Pip uses cpython's stdlib compileall function that inserts stage directory paths.
See the original but report for pip: https://github.com/pypa/pip/issues/11317
pip-22.1.2
Python-3.9
FreeBSD 13.1
How to Reproduce
git clone https://github.com/openqasm/openqasm-pygments.git
cd openqasm-pygments
pip install openqasm-pygments --isolated --root=/tmp/openqasm-pygments --prefix=/usr/local --ignore-installed --no-deps
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza reproduciendo la instalación de pip usando el paquete openqasm-pygments, --root=/tmp/openqasm-pygments y --prefix=/usr/local, y después inspecciona el comportamiento de compileall de la stdlib de Python. Verifica dónde registran las rutas de origen los archivos .cpython-39.pyc generados; se considera terminado cuando las rutas del bytecode instalado ya no incluyen el directorio de staging y, en su lugar, comienzan con el prefijo de instalación.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- build-system
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100