Pasar un archivo C a setup.py por ruta relativa
Frecuentes
Visto 312 equipos
1
¿Cómo puedo pasar la ruta relativa del archivo hello.c en mi script setup.py? El siguiente código no funciona cuando se usa '../code/Hello.c'. Recibo un error total: error al escribir en -: Compilación de tubería rota finalizada. El error no es reproducible, por lo que es probable que sea un problema de hardware o sistema operativo
Por ejemplo: estoy ejecutando este script en el directorio script/
y hello.c está presente en el directorio code/
:
from distutils.core import setup, Extension
module1 = Extension('Hello', sources = ['../code/Hello.c'])
Setup (name = 'PackageName',
version = '1.0',
description = 'This is a demo package',
ext_modules = [module1])
1 Respuestas
0
Sí, puede pasar rutas relativas a su archivo fuente en la clase Extension. Sin embargo, ese no es realmente un enfoque recomendado. Es una buena idea asegurarse de escribir setup.py en el nivel raíz de su árbol de directorios de origen y que sus referencias estén debajo de eso. En ese caso, las rutas relativas que especifique, utilizando el separador de rutas de Unix, también serán independientes de la plataforma.
Respondido 04 Jul 12, 07:07
Estoy haciendo esto module1 = Extension('Hello', sources = ['../code/Hello.c']) . - Jaysh
Como no tengo acceso al directorio raíz en Linux, ejecuto el comando python setup.py desde otro directorio donde he codificado el código hello.c. está dando el error al usar la ruta de los parientes. - Jaysh
Espero que tenga acceso a la carpeta que contiene setup.py, en ese caso, simplemente cree code/Hello.c
y luego ejecute setup.py - Senthil Kumaran
Puedo hacer eso, pero tengo que mantener la estructura de directorio particular, por eso quiero usar [../code/Hello.c]. - Jaysh
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas python setup.py or haz tu propia pregunta.
¿Esto no funciona? ¿Está recibiendo algún error? ¿Podría ser más específico sobre los problemas que está enfrentando? - Froyo