2016-02-15 2 views
1

Я пишу сценарий установки post для пакета python. Для этого мне нужно скопировать некоторые файлы в каталог установки пакета. Есть ли способ, чтобы получить место после/во время:Как добавить дополнительные файлы в каталог установки пакета?

$ python setup.py install 

Одно общее решение сделать следующее:

# post installation script 
import os 
import PACKAGE_NAME 
path = os.path.dirname(PACKAGE_NAME.__file__) 
# copy files to path 

Однако я не могу этого сделать. Мой импорт пакетов зависит от файлов, копируемых в его каталог. Одна вещь, которую я, возможно, может сделать это:

# another messier post installation approach 
import os 
# add location of dependencies to system path to allow package import 
os.environ['PATH'] += CURRENT_LOCATION_OF_FILES_TO_BE_COPIED 
import PACKAGE_NAME 
path = os.path.dirname(PACKAGE_NAME.__file__) 
# copy files to path 

Есть ли лучший способ для копирования файлов в место установки пакета после запуска setup.py без необходимости импорта пакетов?

ответ

0

Возможно, вы можете сделать с импортом пакета. Причина, по которой ваш первый подход не работает, заключается в том, что Python ищет модули/пакеты. Он просматривает sys.path последовательно, так что если вы обратный sys.path может быть, вы можете сделать это:

import sys 
sys.path = sys.path[::-1] 

Он может работать, но это своего рода Hacky хотя.

Смежные вопросы