В CentOS 6.5 короткий ответ от чистой установки:
yum -y install python-pip
pip install -U pip
pip install -U setuptools
pip install -U setuptools
Вы не видите double, вы должны дважды запустить setuptools upgrade. Длинный ответ ниже:
Установка пакета python-pip
с использованием yum приводит python-setuptools
в качестве зависимости. Это довольно старая версия, и поэтому она фактически устанавливает distribute (0.6.10)
. После установки диспетчера пакетов мы обычно хотим его обновить, поэтому мы делаем pip install -U pip
. Текущая версия pip для меня - 1.5.6.
Теперь мы переходим к обновлению setuptools, и эта версия pip достаточно умна, чтобы знать, что она должна сначала удалить старую версию дистрибутива. Он делает это, но вместо этого, вместо установки последней версии setuptools, она устанавливает setuptools (0.6c11)
.
В этот момент все виды вещей сломаны из-за этой чрезвычайно старой версии setuptools, но мы на самом деле почти на месте. Если теперь мы запустим ту же самую команду во второй раз, pip install -U setuptools
, старая версия setuptools будет удалена, а версия 5.5.1 будет установлена. Я не знаю, почему pip не приводит нас прямо к новой версии одним выстрелом, но это то, что происходит, и, надеюсь, это поможет другим увидеть это и знать, что вы не сходите с ума.
Как и любая другая строка
$stmt = $mysqli->prepare('insert into foo (dt) values (?)');
$dt = '2009-04-30 10:09:00';
$stmt->bind_param('s', $dt);
$stmt->execute();
Мой ответ может быть немного вне темы. У меня была проблема в bind_param когда передающая дата. Дата была в (mm/dd/yyyy hh:mm:ss)
формат. MySQL не брал его в (yyyy/mm/dd)
формат (который является форматом по умолчанию типа даты в MySQL) в bind_param.
следующее форматирование даты решило проблему:
date('Y/m/d', strtotime($date_variable))
Метки времени в PHP являются целыми числами (количество секунд от Эпоха UNIX). Альтернативой вышеуказанному является использование параметра даты / времени целочисленного типа и функций MySQL FROM_UNIXTIME
и UNIX_TIMESTAMP
$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn) VALUES (FROM_UNIXTIME(?))");
$stmt->bind_param("i", $your_date_parameter);
$stmt->execute();