Цели:
- Используйте современные наборы инструментов для упаковки Python для развертывания / установки проприетарных пакетов в некоторые файлы virtualenv.
- Установленные пакеты должны включать скомпилированные * .pyc (или * .pyo) только без исходных файлов.
- Есть несколько пакетов, и в качестве имен пакетов используется имя поставщика (здесь мы выбираем dgmx для нашей студии). Следовательно, установленные пакеты будут выглядеть примерно так: dgmx / alucard, dgmx / banshee, dgmx / carmilla, ...
- Иерархия файлов установленных пакетов должна быть похожей на
python setup.py install --single-version-externally-managed
илиpip install
. Обратитесь к Почему я не могу получить точный результат * pip install * вручную * python setup.py install *?
Вкратце вопрос:
Мне нравится развертывать проприетарные пакеты с пространством имен в virtualenv, используя только скомпилированные файлы * .pyc (или * .pyo), в которых иерархия файлов / каталогов просто отражает пространство имен с загрязнением sys.path множеством ooxx.egg пути.
Что-то я пробовал:
python setup.py bdist_egg --exclude-source-files
theneasy_install ooxx.egg
.- pollute "sys.path" for each namespace package.
python setup.py install --single-version-externally-managed
.- not *.pyc only.
- "install_requires" проигнорирован!
- необходимо вручную поместить ooxx.egg-info / installed-files.txt, чтобы uninstall работал правильно.
pip install .
in the location of "setup.py".- not *.pyc only.
pysetup install .
in the location of "setup.py".- not *.pyc only.
Обновление:
Моя текущая идея - следовать методу 2.
python setup.py egg_info --egg-base .
# get requires.txtpython setup.py install --single-version-externally-managed --record installed-files.txt
# получить install-files.txt- вручную установить другие зависимости через "requires.txt"
- вручную удалить установленные исходные файлы (* .py) через "installed-files.txt"
- удалите исходные файлы (* .py) из "installed-files.txt" и поместите его в развернутый "ooxx.egg-info / installed-files.txt"
Использованная литература:
- Переход на pip + virtualenv из инструментов настройки
- установка только .pyc (скомпилированный python) с помощью инструментов настройки
- Могу ли я развертывать файлы Python .pyc только в Google App Engine?
- Почему я не могу получить точный результат для * pip install * вручную * python setup.py install *?
dis
. Я бы посоветовал взглянуть на файлы pyd (которые в основном представляют собой библиотеки DLL), но я не уверен, как их можно создать из кода Python. - person aquavitae   schedule 17.04.2012.pyo
файлы вместо.pyc
. - person vartec   schedule 17.04.2012.pyo
намного лучше, чем ~ - person Drake Guan   schedule 17.04.2012