python3
является не синтаксисом Python , это сам бинарный Python , то, что вы запускаете, чтобы перейти к интерактивному интерпретатору.
Вы сбиваете командную строку с помощью команды Python. Откройте консоль (Windows) или терминал (Linux, Mac) в том же месте, где вы будете использовать dir
или ls
, чтобы изучить вашу файловую систему из командной строки.
Если вы вводите текст в приглашении >>>
, вы находитесь не в том месте, это сам интерпретатор Python, и он принимает только синтаксис Python. Если вы запустили приглашение Python из командной строки, выйдите в эту точку и вернитесь в командную строку. Если вы запустили интерпретатор из IDLE или в IDE, вам нужно открыть терминал или консоль в качестве отдельной программы.
Другие программы, которые люди часто путают для синтаксиса Python; каждая из них на самом деле является программой для запуска в командной строке:
python
, python2.7
, python3.5
и т. д. pip
или pip3
virtualenv
ipython
easy_install
django-admin
setup.py
- это скрипт, который нужно запустить с помощью python setup.py [...]
. sudo
. Если заданы аргументы, вы Вместо этого вы получите исключение SyntaxError
, но основная причина будет такой же:
>>> pip install foobar
File "<stdin>", line 1
pip install foobar
^
SyntaxError: invalid syntax
Есть две проблемы с примером вашей скрипки. Во-первых, массив математических выражений теряет обратную косую черту, потому что они используются как escape-символы в строках javascript. Вам нужно удвоить их:
var jax = ['\\(\\mathbb{Q}\\)','\\(\\mathbb{Z}\\)'];
Во-вторых, вам нужно сказать MathJax, чтобы обработать математику, как только вы добавили ее на страницу. Используйте
MathJax.Hub.Queue(["Typeset",MathJax.Hub,div]);
после добавления математики для этого.
Версия 120 из вашей скрипты показывает рабочую версию.
Я провел несколько тестов в качестве обновлений / 93, / 94, / 95 вашей скрипки и обнаружил, что вынесенные формулы могут перемещаться, но все это было хрупким. Иногда простое изменение или просто обновление страницы приводило бы к тому, что отображаемые незаписанные формулы показывались бы, каждый из которых удваивался, что я не могу объяснить.
Как вы увидите, я думал, что setTimeout
исправит но теперь я не думаю, что это так.
Я думаю, что ошибка - это просто функция запуска кода в jsFiddle. Я не могу вызвать ошибку при запуске кода на тестовой странице, обслуживаемой локально в файле file: // с моего компьютера и просмотренном в Opera.
Вот моя тестовая страница:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Test kineticJS lib - jsFiddle demo</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.7.1.js'></script>
<style type='text/css'>
body {
margin: 10px;
}
.jax {
display: none;
}
#list1, #list2 {
margin: 10px 0;
padding: 5px;
border: 1px solid #000;
}
</style>
<script type='text/javascript'>
$(window).load(function(){
function listArray($ul) {
$(".jax").each(function(i, j){
var li = $("<li/>").append($(j).text());
$ul.append(li);
});
};
//move formulas from original spans into list1
listArray($("#list1") );
//on click move formulas between list1 and list2
$("#moveUp").on('click', function() {
$("#list2 li").eq(0).appendTo($("#list1"));
});
$("#moveDown").on('click', function() {
$("#list1 li").eq(0).appendTo($("#list2"));
});
});
</script>
</head>
<body>
<head>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
</head>
<body>
<span class="jax">\(\mathbb{Q}\)</span>
<span class="jax">\(\mathbb{Z}\)</span>
<ul id="list1"></ul>
<button id="moveDown">Move Down</button>
<button id="moveUp">Move Up</button>
<ul id="list2"></ul>
</body>
</body>
</html>