Набор PYTHONPATH в Emacs на MacOS?

Поскольку вы объявляете переменную url_check внутри $(document).ready(function() ..., это означает, что она будет доступна только там. Решением было бы объявить параметр глобально, чтобы любые изменения в функции все еще были видны. Если вы хотите что-то сделать с переменной после того, как она назначена, вам нужно немедленно вызвать функцию там. Вызов до этого может привести к нулевым результатам, так как файл еще не был обработан. Смотрите jsfiddle ниже. Я проверил, что он делает то, что вы хотите.

$(document).ready(function() {
  $('#file_input').on('change', function(e) {
    readFile(this.files[0], function(e) {
      var txt = e.target.result
      var lines = txt.split("\n");
      
      if (lines && lines.length > 0)
        url_check = lines[0];
      
      $('#output_field').text(url_check);
      console.log(url_check);
      callbackPrint();
    });
  });
});

var url_check = null;

function readFile(file, onLoadCallback) {
  var reader = new FileReader();
  reader.onload = onLoadCallback;
  reader.readAsText(file);
}

function callbackPrint() {
  console.log("From testPrint: " + url_check);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="file_input" type="file">
<div id="output_field"></div>

15
задан DavidRR 13 January 2017 в 13:26
поделиться

1 ответ

.bashrc только читается, когда оболочка запускается; это не будет влиять на Углерод Emacs. Вместо этого используйте setenv в Вашем .emacs:

(setenv "PYTHONPATH" "PATH_STRING_HERE")

Можно установить PYTHONPATH для всей сессии Mac OS, путем добавления его к ~/.MacOSX/environment.plist (больше здесь). Вы, вероятно, не хотите делать это, если у Вас нет XCode (и его редактор списка свойств) установленный.

(Через Procrastiblog)

22
ответ дан 1 December 2019 в 02:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: