py2exe - генерируйте единственный исполняемый файл

Если вы имеете в виду запуск правил в каком-то другом :hover {} правиле невыделенного элемента, то вы не можете. Совпадение одного селектора не может привести к внезапному совпадению другого несоответствующего селектора.

CSS имеет ограниченный набор комбинаторов и родственных селекторов, которые позволяют вам выражать отношения между элементами. Таким образом, вы можете выбрать элемент, который находится внутри или рядом с наведенным элементом, например :

:hover + p { color: red }

& amp;

<div>hover me</div>
<p>I'll become red</p>

И это лучшее, что вы можете сделать. Если вам нужно, чтобы он был более сложным, вам нужно использовать JavaScript, который устанавливает классы для других элементов.

138
задан Jerub 22 September 2008 в 02:40
поделиться

6 ответов

PyInstaller создаст единственный .exe файл без зависимостей; используйте --onefile опция. Это делает это путем упаковки всего совместно использованного необходимого освобождает в исполняемый файл и распаковку их, прежде чем это будет работать, как Вы описываете (РЕДАКТИРОВАНИЕ: py2exe также имеет эту функцию, см. ответ minty )

, я использую версию PyInstaller от svn, так как последний выпуск (1.3) несколько устарел. Это работало действительно хорошо на приложение, которое зависит от PyQt, PyQwt, numpy, scipy и еще много.

102
ответ дан 23 November 2019 в 23:27
поделиться

Способ сделать это использование py2exe состоит в том, чтобы использовать bundle_files опцию в Вашем setup.py файле. Для единственного файла Вы захотите установить bundle_files на 1, compressed к Правда, и установить zipfile опцию ни на Один. Тем путем это создает один сжатый файл для легкого распределения.

Вот больше полного описания bundle_file опции, заключенной в кавычки непосредственно из py2exe сайт *

Используя "bundle_files" и "zipfile"

более легкое (и лучше), способ создать однофайловые исполняемые файлы состоит в том, чтобы установить bundle_files на 1 или 2, и установить zipfile ни на Один. Этот подход не требует файлов извлечения к временному местоположению, которое обеспечивает намного более быстрый запуск программы.

Допустимые значения для bundle_files:

  • 3 (значение по умолчанию) не связываются
  • 2 пакета все кроме интерпретатора Python
  • 1 пакет все, включая интерпретатор Python

, Если zipfile не будет установлен ни на Один, то файлы будут пакетом в исполняемом файле вместо library.zip.

Вот образец setup.py:

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 1, 'compressed': True}},
    windows = [{'script': "single.py"}],
    zipfile = None,
)
170
ответ дан 23 November 2019 в 23:27
поделиться

Мне говорят , bbfreeze создаст единственный файл.EXE и является более новым, чем py2exe.

1
ответ дан 23 November 2019 в 23:27
поделиться

Поскольку другое упоминание плаката, py2exe, генерирует исполняемый файл + некоторые библиотеки для загрузки. У Вас могут также быть некоторые данные для добавления к программе.

Следующий шаг должен использовать установщик, для упаковки всего этого в одну простую в использовании installable/unistallable программу.

я использовал InnoSetup ( http://www.jrsoftware.org/isinfo.php ) с восхищением в течение нескольких лет и для коммерческих программ, таким образом, я сердечно рекомендую это.

13
ответ дан 23 November 2019 в 23:27
поделиться

Нет, это, не дает Вам единственный исполняемый файл в том смысле, что у Вас только есть один файл впоследствии - но у Вас есть каталог, который содержит все, в чем Вы нуждаетесь для того, чтобы запустить Вашу программу, включая EXE-файл.

я просто записал этот setup.py сегодня. Только необходимо вызвать python setup.py py2exe.

-6
ответ дан 23 November 2019 в 23:27
поделиться

Я недавно использовал py2exe для создания исполняемого файла для постобзора для отправки обзоров к ReviewBoard.

Это было setup.py, который я использовал

from distutils.core import setup
import py2exe

setup(console=['post-review'])

, Он создал каталог, содержащий EXE-файл и необходимые библиотеки. Я не думаю, что возможно использовать py2exe для получения просто единственного .exe файла. При необходимости в этом, Вы должны будете сначала использовать py2exe и затем использовать некоторую форму установщика для создания заключительного исполняемого файла.

Одна вещь заботиться о состоит в том, что любые файлы яйца, которые Вы используете в своем приложении, должны быть разархивированы, иначе py2exe не может включать их. Это охвачено в py2exe документах.

-2
ответ дан 23 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: