Быть автором ответа, который Вы выделяете в своем вопросе, и по общему признанию прибывающий к этому немного поздно, я должен был бы сказать, что среди многих причин, которые были перечислены, производительность профессионального разработчика является одними из самых высоко оцененных навыков.
производительностью, я имею в виду способность сделать Ваше задание эффективно с самыми лучшими результатами. IDE включают это на многих уровнях. Я не эксперт Emacs, но я сомневаюсь, что это испытывает недостаток в любой из функций главных IDE.
Дизайн, документация, отслеживание, разработка, здание, анализ, развертывание, и обслуживание, ключевые стартовые площадки в корпоративном приложении, может все быть сделан в IDE.
, Почему Вы не использовали бы что-то настолько мощное, если у Вас есть выбор?
Как эксперимент, посвятите себя, чтобы использовать IDE в течение, скажем, 30 дней и видеть, как Вы чувствуете. Я хотел бы считать Ваши мысли об опыте.
Я рекомендую вам следовать совету, данному здесь , и цитирую:
добавьте это в файл app.yaml:
- url: / loadusers скрипт: myloader.py логин: админ
Обратите внимание: если вы запустите его на локальном машина разработки, комментарий от последняя строка логина: admin, чтобы вы не нужны учетные данные для запуска загрузчик .
(выделено мной).
Далее у меня работало:
удаление строки
логин: admin
из app.yaml
Обновление cofig приложения:
appcfg.py update [app-id]
(Повторный) запуск локального сервера:
сервер приложений [идентификатор приложения]
Загрузить данные:
appcfg.py upload_data --config_file = album_loader.py --filename album_data.csv --kind Album --url = http: // localhost: 8080 / remote_api ../[app-id ]
Спросите почту и пароль, введите что угодно
Редактировать: Посмотрите на мое новое решение
Эта проблема все еще существует. Я открыл билет , чтобы спросить, можно ли обойти аутентификацию на локальном сервере разработки. Проголосуйте за эту проблему, чтобы мы могли ее решить [быстро].
Мне удалось загрузить данные на сервер разработки:
Оставление строки" login: admin "- это хорошо, поскольку вы не загрузите свое приложение на производственные серверы без этой строки, которая может показать вам, что кто-то добавляет данные в ваше хранилище данных ...
Цитата
Да, прокомментируйте требование администратора для remote_api:
.[app.yaml]
- url: /remote_api script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py # login: admin
Затем выполните эту команду:
$ bulkloader.py --dump --kind=DbMyKind --url=http://localhost:8080/remote_api --filename=export.csv --app_id=my_appid --auth_domain=localhost:8080
Примечание: проверьте, что --auth_domain передан, и что для localhost передан соответствующий порт.
.Сначала необходимо создать учетную запись администратора на локальном сервере разработки.
С помощью firefox (или chrome safari и т.д.), откройте http://localhost:8178/remote_api, вам будет предложено войти в систему (без пароля), ввести email в качестве логина, и поставить галочку в поле логин в качестве администратора
, логин. Это создаст для вас учетную запись локального администратора, используйте ее при локальной групповой загрузке.
Это применимо к другим учетным записям локального доступа, требуемого администратором.
Оставить (или прокомментировать) login:admin
- это плохая практика, так как вы можете внедрить ее и в производство. Берегите себя!
EUREKA: я нашел способ использовать инструмент bulkloader.py
без необходимости вводить учетные данные для входа в систему вручную.
Вот 2 шага:
Установите ваш app.yaml
файл вверх. Пример:
- url: /remote_api
script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
login: admin
Вы должны поставить его ПЕРЕД своим - url: .*
строку в app.yaml
, в противном случае вы никогда не получите доступ к URL: /remote_api
.
Обратите внимание, что я оставил часть login: admin
, так как его удаление является ОЧЕНЬ БАДной практикой, так как вы можете развернуть его в производство....
2 Запустите эту команду (адаптируйте ее под свои нужды).
echo 'XX' | python2.5 ../google_appengine/bulkloader.py --dump --kind=NAMEOFMODEL --url=http://localhost:8080/remote_api --filename=FILENAME --app_id=APPID --email=foobar@nowhere.com --passin .
Хитрость в том, чтобы использовать комбинацию этих 2 параметров:
--email=
(вы можете указать любой желаемый адрес электронной почты, я использую foobar@nowhere.com
)--passin
Указание --email=
подавит приглашение "enter credentials", и --passin
позволит прочитать пароль из stdin
(здесь и вступает в игру - echo 'XX' |
! )
Наслаждайтесь!
P.S.: Не забудьте проголосовать, чтобы Google предоставил более удобный способ сделать это: Выпуск 2440 .
Другое решение - отключить функцию аутентификации с помощью лямбды: http://www.carlosble.com/?p=603