Используйте тот же Python3 для запуска вашего файла app.py.
, чтобы убедиться, что вы используете ту же версию Python, я рекомендую вам сделать следующее:
$ python --version
python X.X
$ pythonX.X -m pip install pymsql
$ python app.py
Имейте это в настоящее время работающий однако все еще должно отделиться браузером. Протестированный успешно на Chrome (75) и Safari (11.1) (не нашли путь к FF на данный момент). Это также получает значение масштабирования, корректное на дисплее Retina, и вычисления включаются, изменяют размеры события.
private pixelRatio() {
const styleString = "(min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 1.5),(-moz-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)";
const chromeRatio = (Math.round((this.window.outerWidth / this.window.innerWidth)*100) / 100);
const otherRatio = (Math.round(window.devicePixelRatio * 100) / 100);
const resizeValue = (this.isChrome()) ? chromeRatio : otherRatio;
return resizeValue || (this.window.matchMedia && this.window.matchMedia(styleString).matches ? 2 : 1) || 1;
}
private isChrome():boolean {
return (!!this.window.chrome && !(!!this.window.opera || this.window.navigator.userAgent.indexOf(' Opera') >= 0))
}
private chrome() {
const zoomChrome = Math.round(((this.window.outerWidth) / this.window.innerWidth)*100) / 100;
return {
zoom: zoomChrome,
devicePxPerCssPx: zoomChrome1 * this.pixelRatio()
};
}
здесь не меняется!:
<html>
<head>
<title></title>
</head>
<body>
<div id="xy" style="width:400px;">
foobar
</div>
<div>
<button onclick="alert(document.getElementById('xy').style.width);">Show</button>
</div>
</body>
</html>
создайте простой html файл, нажмите на кнопку. независимо от того, какой уровень масштабирования: он покажет вам ширину 400 пикселей (по крайней мере, с firefox и ie8)
Ваши расчеты по-прежнему основаны на количестве пикселей CSS. Теперь они просто другого размера на экране. Это и есть точка полного масштабирования страницы.
Что бы вы хотели сделать в браузере на устройстве с разрешением 192 точек на дюйм, которое, следовательно, обычно отображает четыре пикселя устройства на каждый пиксель изображения? При 50% масштабировании это устройство теперь отображает один пиксель изображения в одном пикселе устройства.