Для отображения TimeSpan, отформатированного с местной культурой, просто добавьте его к дате как DateTime. Сегодня. Что-то вроде этого:
(DateTime. Сегодня + промежуток).ToString ();
, Так как Ваше значение действительно не представляет дату, Вы - более обеспеченное хранение его как TimeSpan, пока время не настает для отображения его.
Используйте Virtualenv .
Здесь есть дополнительная информация: Работа с virtualenv .
Используя virtualenv, вы можете создать новый виртуальный питон среды с любой версией Python, которую вы хотите для каждого проекта или приложения. Затем вы можете активировать соответствующую среду, когда она вам понадобится.
Чтобы расширить мой ответ:
Вы можете установить несколько версий Python на свой компьютер (у меня на компьютере установлены версии 2.4, 2.5, 2.6 и 3.1 - я устанавливаю каждый из источника). Я использую Mac, и в моей системе Python такой же, как и в OS X, установленной по умолчанию.
Я использую easy_install для установки пакетов. В ubuntu вы можете получить easy_install следующим образом:
sudo apt-get install python-setuptools
Чтобы установить virtualenv, выполните:
easy_install virtualenv
Я обычно создаю новый virtualenv для каждого проекта, над которым я работаю, и не делаю этого. t дать ему доступ к глобальным пакетам сайтов. Это скрепляет все пакеты вместе и позволяет мне иметь конкретные версии всего, что мне нужно.
virtualenv -p python2.6 --no-site-packages ~/env/NEW_DJANGO_PROJECT
И затем, когда я делаю что-нибудь, связанное с этим проектом, я активирую его:
source ~/env/NEW_DJANGO_PROJECT/bin/activate
Если я сейчас запустил python, он использует этот новый питон. Если я использую easy_install, он устанавливает вещи в мою новую виртуальную среду.
Итак, virtualenv должен быть в состоянии решить все ваши проблемы.
«Вопрос1: Как я могу сообщить любому фреймворку, который использует такую-то версию pf python, например day django, использовать 2.6 и сказать mjango, чтобы использовать 2.4?»
Вы просто запускаете их с конкретной версией Python, которая им нужна. Запустите mjango с /usr/bin/python2.4 и django с /usr/bin/python2.6. Это так просто.
«Вопрос 2: Есть ли более элегантный способ переключения между версиями, поскольку мой взлом символических ссылок оказался настоящей катастрофой?»
Да, см. Выше. Имеют две отдельные установки Python и явно запускаются с разными версиями.
«Вопрос 3: Могу ли я загрузить deb, скажем, выносливее, и заставить бойких поверить в то, что это для нее?»
Это обычно работает. Если это не так, это потому, что у него есть зависимости, которые существуют в Hardy, а не существуют в Jaunty, и тогда вы не можете.
А вот Вопрос 4, который вы не задавали, но должны были задать. ;)
«Есть ли более простой способ загрузить все эти модули Python?»
Да, есть. Установите setuptools и используйте easy_install. Это не поможет вам с зависимостями библиотек для тех модулей Python, которые имеют код C и должны быть скомпилированы. Но он поможет всем остальным. easy_install загрузит и установит все зависимости Python для рассматриваемого модуля за один раз. Это значительно ускоряет установку модулей Python.
Но он поможет всем остальным. easy_install загрузит и установит все зависимости Python для рассматриваемого модуля за один раз. Это значительно ускоряет установку модулей Python. Но он поможет всем остальным. easy_install загрузит и установит все зависимости Python для рассматриваемого модуля за один раз. Это значительно ускоряет установку модулей Python.Еще массовый подход, чем Virtualenv, - это параллельная установка двух версий Python.
Если существует существующая установка, и вы хотите, чтобы вторая установка выполнялась по тому же корневому пути (например, / usr / local), используйте эту цель, когда выполнение установки:
make altinstall
Когда ваша вторая установка - Python 2.6, у вас останется /usr/local/bin/python2.6 вместе со старым / usr / local / bin / python.
Простым способом переключения между этими двумя версиями является использование псевдонима оболочки (псевдоним python = / usr / local / bin / python2.6) в оболочке, в которой вы вызываете интерпретатор. Но это не будет работать с суб-оболочками и вызовами she-bang.