Если вы имеете в виду запуск правил в каком-то другом :hover {}
правиле невыделенного элемента, то вы не можете. Совпадение одного селектора не может привести к внезапному совпадению другого несоответствующего селектора.
CSS имеет ограниченный набор комбинаторов и родственных селекторов, которые позволяют вам выражать отношения между элементами. Таким образом, вы можете выбрать элемент, который находится внутри или рядом с наведенным элементом, например :
:hover + p { color: red }
& amp;
<div>hover me</div>
<p>I'll become red</p>
И это лучшее, что вы можете сделать. Если вам нужно, чтобы он был более сложным, вам нужно использовать JavaScript, который устанавливает классы для других элементов.
PyInstaller создаст единственный .exe файл без зависимостей; используйте --onefile
опция. Это делает это путем упаковки всего совместно использованного необходимого освобождает в исполняемый файл и распаковку их, прежде чем это будет работать, как Вы описываете (РЕДАКТИРОВАНИЕ: py2exe также имеет эту функцию, см. ответ minty )
, я использую версию PyInstaller от svn, так как последний выпуск (1.3) несколько устарел. Это работало действительно хорошо на приложение, которое зависит от PyQt, PyQwt, numpy, scipy и еще много.
Способ сделать это использование 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,
)
Мне говорят , bbfreeze создаст единственный файл.EXE и является более новым, чем py2exe.
Поскольку другое упоминание плаката, py2exe, генерирует исполняемый файл + некоторые библиотеки для загрузки. У Вас могут также быть некоторые данные для добавления к программе.
Следующий шаг должен использовать установщик, для упаковки всего этого в одну простую в использовании installable/unistallable программу.
я использовал InnoSetup ( http://www.jrsoftware.org/isinfo.php ) с восхищением в течение нескольких лет и для коммерческих программ, таким образом, я сердечно рекомендую это.
Нет, это, не дает Вам единственный исполняемый файл в том смысле, что у Вас только есть один файл впоследствии - но у Вас есть каталог, который содержит все, в чем Вы нуждаетесь для того, чтобы запустить Вашу программу, включая EXE-файл.
я просто записал этот setup.py сегодня. Только необходимо вызвать python setup.py py2exe
.
Я недавно использовал py2exe для создания исполняемого файла для постобзора для отправки обзоров к ReviewBoard.
Это было setup.py, который я использовал
from distutils.core import setup
import py2exe
setup(console=['post-review'])
, Он создал каталог, содержащий EXE-файл и необходимые библиотеки. Я не думаю, что возможно использовать py2exe для получения просто единственного .exe файла. При необходимости в этом, Вы должны будете сначала использовать py2exe и затем использовать некоторую форму установщика для создания заключительного исполняемого файла.
Одна вещь заботиться о состоит в том, что любые файлы яйца, которые Вы используете в своем приложении, должны быть разархивированы, иначе py2exe не может включать их. Это охвачено в py2exe документах.