PathLib Ruta resuelve la ruta instalada directorio de paquete en lugar del directorio de código fuente -- python campo con python-3.x campo con python-3.7 campo con pathlib camp Relacionados El problema

pathlib Path resolves installed path directory of package instead of source code directory


1
vote

problema

Español

He empaquetado Mi proyecto con Setup.py y la estructura de la carpeta del proyecto parece a continuación.

    api-automation   api     packagename        __init__.py        user.py        payloads          a.json          b.json       tests     conftest.py   setup.cfg   setup.py   README.rst    

He creado un entorno virtual en la carpeta debajo del nombre "Myenv_1", / Usuarios / Basavarajlamani / Documentos / Entornos / y he instalado por encima de repo en este entorno virtual.

Intenté mucho en StackOverFlow e Internet, pero no encontré la respuesta.

código de usuario.py archivo

  from pathlib import Path  current_dir = str(Path(__file__).resolve().parent)  def func():     print("current_dir", current_dir)   

Código de CONFTEST.PY

  from packagename.user import func  func()   

Si ejecuto el archivo de usuario.py directamente (Python3 user.py), obtendré la ruta de directorio correcta a continuación,

  current_dir /Users/basavarajlamani/Documents/repos/api-automation/api/packagename   

Pero si ejecuto el archivo confftest.py (Python3 conftest.py), me instalo la ruta de instalación como por debajo de la cual no quiero y quiero obtener la ruta de directorio como cuando ejecuto el archivo user.py directamente,

  current_dir /Users/basavarajlamani/Documents/environments/myenv_1/lib/python3.7/site-packages/packagename   

Ayuda, cómo puedo resolver este problema.

Original en ingles

I have packaged my project using setup.py and project folder structure looks like below.

  api-automation   api     packagename        __init__.py        user.py        payloads          a.json          b.json       tests     conftest.py   setup.cfg   setup.py   README.rst  

I have created virtual environment in below folder with name "myenv_1", /Users/basavarajlamani/Documents/environments/ and i have installed above repo in this virtual environment.

I tried a lot on stackoverflow and internet but did not found answer.

code of user.py file

from pathlib import Path  current_dir = str(Path(__file__).resolve().parent)  def func():     print("current_dir", current_dir) 

code of conftest.py

from packagename.user import func  func() 

If I run user.py file directly(python3 user.py), i will get the correct directory path as below,

current_dir /Users/basavarajlamani/Documents/repos/api-automation/api/packagename 

But if I run conftest.py file(python3 conftest.py), I am getting installed path as below which i don't want and I want to get directory path like when i run user.py file directly,

current_dir /Users/basavarajlamani/Documents/environments/myenv_1/lib/python3.7/site-packages/packagename 

Please help, how i can solve this problem.

           

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

Sospecho que no usó la opción correcta cuando bootstrapping su entorno de desarrollo.

intento:

  • Limpieza de su desarrollo VirtualEnv o elimínelo y cree uno nuevo.
  • cd the/root/of/your/source/tree
  • pip install -e .

El punto importante es la opción -e . Lea el manual pip .

 

I suspect you didn't use the correct option when bootstrapping your development environment.

Try:

  • cleanup your development virtualenv or delete it and create a new one.
  • cd the/root/of/your/source/tree
  • pip install -e .

The important point is the -e option. Read the pip manual.

 
 
     
     

Relacionados problema

66  Copiar archivo con pathlib en Python  ( Copy file with pathlib in python ) 
Intento copiar un archivo con pathlib import pathlib import shutil my_file=pathlib.Path('/etc/hosts') to_file=pathlib.Path('/tmp/foo') shutil.copy(my_fi...

1  Python: Cómo crear un entorno virtual en Temp Dir e instalar el módulo con PIP  ( Python how to create a virtual environment at temp dir and install module with ) 
Quiero crear un archivo temporal y escribir un script de Python. Quiero crear un entorno virtual en esta TEMP DIR y usar PIP y luego ejecutar este script con ...

0  Orden de control de PATHLIB Y CUERDA CONCATENACIÓN  ( Control order of pathlib and string concatenation ) 
Tengo un directorio que quiero guardar archivos, guardados como un objeto /3 llamado dir . Quiero autogenear los nombres de archivos en esa ruta usando una...

0  PATHLIB - Nombre de archivo base. Múltiples extensiones  ( Pathlib base filename multiple extensions ) 
¿Existe una mejor otra manera que recurrir a las expresiones regulares para obtener el nombre de la base de un archivo? Tomando un ejemplo donde hay Períod...

48  Agregando otro sufijo a un camino que ya tiene un sufijo con pathlib  ( Adding another suffix to a path that already has a suffix with pathlib ) 
Estaba convirtiendo un código de python viejo para usar <button id="btn3" >Toggle3</button4 < / a> en lugar de <button id="btn3" >Toggle3</button5 Para l...

9  Pathlib Ruta y PY.Test Localpath  ( Pathlib path and py test localpath ) 
He comenzado a usar pathlib.Path hace algún tiempo y me gusta usarlo. Ahora que me he acostumbrado, me he visto descuidado y me olvido de lanzar argumentos ...

5  Mock / prueba llamadas a ruta  ( Mock test calls to path open ) 
Estoy intentando escribir una prueba de unidad para una función que llama el método open66 en un pathlib.Path . Soy capaz de burlarme con éxito el método ...

0  Get Ruta al subpackage en Python  ( Get path to subpackage in python ) 
Tengo un proyecto que necesita actualización de Python2 a Python3. Actualmente utiliza pkg_resources , que tiene una sobrecarga significativa ( PyCON 2018 - ...

0  ¿Cómo puedo iterar sobre un objeto PathLib.Path en Python3?  ( How can i iterate over a pathlib path object in python3 ) 
Los requisitos están en las cotizaciones de bloques. ¿Quiero una lista de la lista o un generador para obtener los nombres de los archivos? Estoy abierto a us...

2  ¿Cómo uso Pathlib para crear archivos nombrados para el rango de fechas?  ( How do i use pathlib to create files named for range of dates ) 
Puedo imprimir una gama de nombres de archivo con el código a continuación, pero necesito escribir archivos vacíos en lugar de imprimir. Sé que pathlib.path.T...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos