Script path pycharm что писать
В прошлой теме было описано создание простейшего скрипта на языке Python. Для создания скрипта использовался текстовый редактор. В моем случае это был Notepad++. Но есть и другой способ создания программ, который представляет использование различных интегрированных сред разработки или IDE.
IDE предоставляют нам текстовый редактор для набора кода, но в отличие от стандартных текстовых редакторов, IDE также обеспечивает полноценную подсветку синтаксиса, автодополнение или интеллектуальную подсказку кода, возможность тут же выполнить созданный скрипт, а также многое другое.
Для Python можно использовать различные среды разработки, но одной из самых популярных из них является среда PyCharm , созданная компанией JetBrains. Эта среда динамично развивается, постоянно обновляется и доступна для наиболее распространенных операционных систем — Windows, MacOS, Linux.
Правда, она имеет одно важное ограничение. А именно она доступна в двух основных вариантах: платный выпуск Professional и бесплатный Community. Многие базовые возможности доступны и в бесплатном выпуске Community. В то же время ряд возможностей, например, веб-разработка, доступны только в платном Professional.
В нашем случае воспользуемся бесплатным выпуском Community. Для этого перейдем на страницу загрузки и загрузим установочный файл PyCharm Community.
После загрузки выполним его установку.

После завершения установки запустим программу. При первом запуске открывается начальное окно:

Создадим проект и для этого выберем пункт New Project .
Далее нам откроется окно для настройки проекта. В поле Location необходимо указать путь к проекту. В моем случае проект будет помещаться в папку HelloApp. Собственно название папки и будет названием проекта.

Кроме пути к проекту все остальные настройки оставим по умолчанию и нажмем на кнопку Create для создания проекта.
После этого будет создан пустой проект:

В центре среды будет открыт файл main.py с некоторым содержимым по умолчанию.
Теперь создадим простейшую программу. Для этого изменим код файла main.py следующим образом:
name = input("Введите ваше имя: ") print("Привет,", name)
Для запуска скрипта нажмем на зеленую стрелку в панели инструментов программы:

Также для запуска можно перейти в меню Run и там нажать на подпункт Run ‘main’ )
После этого внизу IDE отобразится окно вывода, где надо будет ввести имя и где после этого будет выведено приветствие:
pycharm run/debug configuration. Примеры конфигураций
Конфигурации бывают нескольких видов. В моей практике распространены две:
- Django server — для запуска самого сайта.
- Python — для выполнения различных скриптов, у меня чаще всего management-команд.
Расмотрим в отдельности.
Запуск Django приложения в PyCharm (Пример конфигурации Django server)

У меня лично этот процесс происходит автоматически, то есть при открытии папки проекта (через меню «File \ Open. «) PyCharm самостоятельно создаёт конфигурацию Django server с необходимыми настройками:
Если у меня открыть настройки, то он будут такими:
Атоматически распознать Django server и проставить настройки помогает структура папок проекта. У меня она выглядит следующим образом:
collect_static — папка, куда собирается вся статика на боевом сервере для раздачи через прокси-сервер (у меня nginx).
email_auth — приложение, кастомная модель пользователя.
env — виртуальное окружение.
media — сюда собираются все файлы загруженные через сайт.
spec — это простое приложение, которе выполняет некоторые функции сайта. У вас оно может по-другому называться.
static — папка со статическими файлами на уровне проекта.
templates — папка с шаблонами на уровне проекта.
Пример manage.py
from os.path import join, exists, abspath, dirname import os import sys import subprocess import shutil PROJECT_ROOT = abspath(dirname(__file__)) REQUIREMENTS = join(PROJECT_ROOT, 'requirements.txt') VE_ROOT = join(PROJECT_ROOT, 'env') def go_to_ve(): # going into ve if not sys.prefix == VE_ROOT: if sys.platform == 'win32': python = join(VE_ROOT, 'Scripts', 'python.exe') else: python = join(VE_ROOT, 'bin', 'python') retcode = subprocess.call([python, __file__] + sys.argv[1:]) sys.exit(retcode) delete_ve = 'del_ve' in sys.argv or 'delete_ve' in sys.argv if delete_ve: if exists(VE_ROOT): print 'Deleting env. ' shutil.rmtree(VE_ROOT) print 'Done.' sys.exit(0) update_ve = 'up_ve' in sys.argv or 'update_ve' in sys.argv if update_ve: # install ve if not exists(VE_ROOT): import virtualenv print 'Creating virtualenv. ' virtualenv.logger = virtualenv.Logger(consumers=[]) virtualenv.create_environment(VE_ROOT, site_packages=False) print 'Done.' go_to_ve() # check requirements import pip pip.main(['install', '-r', REQUIREMENTS]) sys.exit(0) if exists(VE_ROOT): go_to_ve() # print 'Found virtualenv. Entering. ' try: import settings except ImportError: import sys sys.stderr.write("Error: Can't find the file 'settings.py' in the directory") sys.exit(1) if __name__ == '__main__': if not delete_ve: os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings') from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)
Пример settings.py
# -*- coding: utf-8 -*- from __future__ import unicode_literals import os try: import local_settings except ImportError: import local_settings_sample as local_settings DEBUG = local_settings.DEBUG ROOT_DIR = os.path.dirname(__file__) ADMINS = (('Maltsev Artem', 'admin@vits.pro'), ) EMAIL_HOST = local_settings.EMAIL_HOST EMAIL_PORT = local_settings.EMAIL_PORT EMAIL_HOST_USER = local_settings.EMAIL_HOST_USER EMAIL_HOST_PASSWORD = local_settings.EMAIL_HOST_PASSWORD EMAIL_USE_TLS = getattr(local_settings, 'EMAIL_USE_TLS', False) EMAIL_USE_SSL = getattr(local_settings, 'EMAIL_USE_SSL', False) SERVER_EMAIL = EMAIL_HOST_USER DEFAULT_FROM_EMAIL = EMAIL_HOST_USER MANAGERS = ADMINS DATABASES = local_settings.DATABASES TIME_ZONE = 'Asia/Irkutsk' LANGUAGE_CODE = 'ru' LANGUAGES = (('ru', 'Russian'), ) SITE_ID = 1 USE_I18N = True USE_L10N = True USE_TZ = True USE_X_FORWARDED_HOST = True MEDIA_ROOT = os.path.join(ROOT_DIR, 'media') MEDIA_URL = "/media/" STATIC_ROOT = os.path.join(ROOT_DIR, 'collect_static') STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(ROOT_DIR, 'static'), ) STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'sass_processor.finders.CssFinder', 'compressor.finders.CompressorFinder', ) SECRET_KEY = local_settings.SECRET_KEY MIDDLEWARE_CLASSES = ( 'django.middleware.cache.UpdateCacheMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.gzip.GZipMiddleware', 'cms.middleware.language.LanguageCookieMiddleware', 'cms.middleware.user.CurrentUserMiddleware', 'cms.middleware.page.CurrentPageMiddleware', 'cms.middleware.utils.ApphookReloadMiddleware', 'cms.middleware.toolbar.ToolbarMiddleware', 'django.middleware.cache.FetchFromCacheMiddleware', ) TEMPLATES = [ < 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(ROOT_DIR, 'templates'), ], 'OPTIONS': < 'context_processors': [ 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.template.context_processors.csrf', 'django.template.context_processors.request', 'django.contrib.messages.context_processors.messages', 'sekizai.context_processors.sekizai', 'cms.context_processors.cms_settings', ], 'loaders': [ ('django.template.loaders.cached.Loader', [ 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', 'admin_tools.template_loaders.Loader', ]), ]>>, ] ROOT_URLCONF = 'urls' WSGI_APPLICATION = 'wsgi.application' INSTALLED_APPS = ( 'djangocms_admin_style', 'admin_tools', 'admin_tools.dashboard', 'django.contrib.auth', 'email_auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', 'django.contrib.sitemaps', 'djangocms_text_ckeditor', # note this needs to be above the 'cms' entry 'cms', 'treebeard', 'menus', 'sekizai', 'compressor', 'spec', 'sass_processor', ) + PROJECT_APPS SILENCED_SYSTEM_CHECKS = ('auth.E003', 'auth.W004') AUTH_USER_MODEL = 'email_auth.User' CACHES = < 'default': < 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', >, > LOGGING = < 'version': 1, 'disable_existing_loggers': False, 'filters': < 'require_debug_false': < '()': 'django.utils.log.RequireDebugFalse' >>, 'handlers': < 'mail_admins': < 'level': 'ERROR', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler' >>, 'loggers': < 'django.request': < 'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True >> > ALLOWED_HOSTS = getattr(local_settings, 'ALLOWED_HOSTS', ['localhost', ]) TEST_RUNNER = 'django.test.runner.DiscoverRunner' if DEBUG: INTERNAL_IPS = ('127.0.0.1', ) # --- CMS --- CMS_TEMPLATES = ( ('default.html', 'По умолчанию'), ) # --- end CMS ---
Пример рабочего проекта
Для наглядности я подготовил рабочий демонстрационный проект, который вы можете скачать для наглядности:
По идее, загрузив пример проекта с виртуальным окружением, и открыв его через меню «File \ Open. «, PyCharm автоматически определит Django Server конфигурацию и вы сразу сможете запустить проект. Не забудьте только создать базу данных и применить миграции.
Пример простой конфигурации python-скрипта
Передо мной встала задача: написать скрипт оповещения клиентов об скором истечении срока действия услуг. Запуск скрипта должен производиться из консоли для того, чтобы его можно было добавить в cron. Решением этой задачи служит использование management команды.
Скрипт я написал: теперь самое время его протестировать и отладить в случае необходимости. И чтобы это было легче проводить, можно воспользоваться debug-ом в самом PyCharm-е. Для этого нужно добавить необходимую конфигурацию.
Добавить в PyCharm конфигурацию запуска обычного python скрипта достаточно просто: в списке конфигураций выбираем «Edit Configurations. » (на рисунке выделено синим цветом).
Затем щёлкаем по зелёному плюсику (выделено синей рамкой) и выбираем python:
А затем проделываем несколько нехитрых действий:
- Вписываем имя конфигурации в поле «Name». В моём случае client_notifications, и у меня часто имя конфигурации совпадает с именем самого скрипта — так удобно.
- Указываем полный путь до скрипта в «Script». Да, на скриншоте путь начинается с E 🙂 Раньше под виндой сидел, теперь давно уже на Linux-е.
- Пишем параметры скрипта в «Script parameters». Имя файла моего скрипта client_notifications, поэтому его и пишем.
Нажимаем окей и можно дебажить!
Что касается поля «Interpreter options» — там указываются параметры самого интерпретатора python. По сути они вставляются между python и manage.py.
А «Working directory» можно не трогать. В данном случае он ни на что не влияет.
Запуск Django-Shop приложения в PyCharm
Разберём более сложный пример запуска конфигурации: попробуем запустить скаченный с какого-нибудь репозитория (напр., github) проект на Django. В качестве примера выберем Django Shop — платформа для создания интернет-магазина.
Для начала откроем терминал и склонируем проект с github:
git clone https://github.com/awesto/django-shop.git
Далее выполним специфичные команды для запуска Django Shop демо-примера (для каждого проекта свои команды по запуску!):
cd django-shop virtualenv ~/.virtualenvs/django-shop source ~/.virtualenvs/django-shop/bin/activate pip install -e . pip install -r requirements/test_py3.txt pip install Django==1.9.10 npm install # в версиях 0.9.3 и выше, сначала нужно зайти в папку example cd example export DJANGO_SHOP_TUTORIAL=commodity export DJANGO_DEBUG=True ./manage.py initialize_shop_demo ./manage.py compilescss
В общем случае для любого проекта нужно:
- Создать виртуальное окружение командой virtualenv .
- Войти в виртуальное окружение командой source .
- Установить зависимости (чаще всего они перечислены в файле requirements.txt) командой pip install .
Замечание
Другие выше перечисленные команды я не буду объяснять в данной статье, так как, ещё раз повторюсь, для каждого проекта свои команды по подготовке к запуску приложения.
И наконец, запускаем проект:
./manage.py runserver
Если в терминале получилось запустить проект, то переходим к его запуску в PyCharm. Для этого открываем в PyCharm-е наш проект:
Нам важно, чтобы мы смогли просматривать в PyCharm все файлы проекта, склонированного с github, поэтому выбираем корневую папку проекта django-shop .
Теперь нам нужно добавить поддержку Django для приложения. Для этого выбираем в меню: «File \ Settings . «:
В этом окне нужно настроить Django project root . Эту директорию можно выбирать такую, в которой лежит manage.py. После выбора директории вы заметите, что PyCharm сам попытался определить местонахождение manage.py и settings.py. Давайте ему поможем, определив точное месторасположение этих файлов. В случае с Django Shop settings.py лежит в папке myshop, поэтому щёлкаем на значок «Три точки» в соответствующем поле для открытия диалогового окна и находим наш settings.py.
Обратите внимание, что мы также добавили переменную окружения DJANGO_SHOP_TUTORIAL в поле Environment variables . Чуть ниже вы увидите, что переменные окружения также добавляются при создании конфигурации, и для Django Shop переменную DJANGO_SHOP_TUTORIAL нужно задавать в двух местах, потому что этот проект требует обязательного наличия DJANGO_SHOP_TUTORIAL в переменных окружения. А так как запуск management команд через PyCharm (гор. клавиша Ctrl + Alt + R) таких, как makemigrations или migrate , происходит в отдельной конфигурации, поэтому без указания DJANGO_SHOP_TUTORIAL команды не смогут запуститься и выведут такую ошибку django.core.exceptions.ImproperlyConfigured: Environment variable DJANGO_SHOP_TUTORIAL is not set :
Поэтому поставим DJANGO_SHOP_TUTORIAL=commodity .
Теперь проверим правильно ли выбрано виртуальное окружение для проекта. Переходим в Project Interpreter :
Командой virtualenv ~/.virtualenvs/django-shop было установлено виртуальное окружение для проекта, поэтому проверьте, чтобы в поле Project Interpreter путь совпадал: 2.7.6 virtualenv at ~/.virtualenvs/django-shop . Найти этот путь можно щёлкнув на крайнюю справа стрелочку вниз этого поля. Если в списке нет пути до виртуального окружения, то можно его вручную добавить, щёлкнув на значок шестерёнки (правее стрелки влево):
Теперь закрываем окно настроек, и последнее что нам осталось сделать, это добавить конфигурацию запуска проекта. Для этого щёлкаем Edit Configuration :
И, щёкнув на плюсик, выбираем Django Server:
Теперь остаётся заполнить Environment variables по необходимости:
DJANGO_SHOP_TUTORIAL=commodity DJANGO_DEBUG=True DJANGO_SETTINGS_MODULE=myshop.settings
Имейте ввиду, что, если у вас в переменных окружения DJANGO_SETTINGS_MODULE=settings :
или в manage.py записан путь до settings.py неправильным образом:
#!/usr/bin/env python import os import sys if __name__ == '__main__': os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings') from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)
вместо myshop.settings . То возникнет ошибка:
ImportError: No module named settings
Так как в переменных окружения значение переменной DJANGO_SETTINGS_MODULE должно быть равно правильному пути до settings.py. В нашем примере с Django Shop DJANGO_SETTINGS_MODULE=myshop.settings .
Устанавливаем python-пакеты с помощью pip

pip — это система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python.
Установка pip
Прежде чем с помощью pip устанавливать python-пакеты, нужно сначала установить сам pip.
Python 3.4+
Начиная с Python версии 3.4, pip поставляется вместе с интерпретатором python.
Python
- Загрузить get-pip.py (обязательно сохранив с расширением .py).
- Запустить этот файл (могут потребоваться права администратора).
Есть ещё один способ (для Windows). Возможно, он является более предпочтительным:
- Установить setuptools http://www.lfd.uci.edu/~gohlke/pythonlibs/#setuptools
- Установить pip http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip
Начало работы
Попробуем с помощью pip установить какой-нибудь пакет, например, numpy:
sudo pip3 install numpy
pip3 install numpy
Может не сработать, написав: «python» не является внутренней или внешней командой, исполняемой программой или пакетным файлом (такого, скорее всего, не должно быть при установке pip вторым способом, но проверить не на чем).
Тогда нужно обращаться напрямую:
Либо добавлять папку C:\Python34\Tools\Scripts\ в PATH вручную (самому проверить не на чем, можете посмотреть на stackoverflow. У кого получится — напишите в комментарии).
Что ещё умеет делать pip
Пробежимся по основным командам pip:
pip help — помощь по доступным командам.
pip install package_name — установка пакета(ов).
pip uninstall package_name — удаление пакета(ов).
pip list — список установленных пакетов.
pip show package_name — показывает информацию об установленном пакете.
pip search — поиск пакетов по имени.
pip —proxy user:passwd@proxy.server:port — использование с прокси.
pip install -U — обновление пакета(ов).
pip install —force-reinstall — при обновлении, переустановить пакет, даже если он последней версии.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
PyCharm — как сделать, чтобы не пропадали настройки скрипта?
1. Есть скрипт , скажем, c:\work\script.py, созданный изначально в блокноте.
2. Нажимаю на нём правой кнопкой, выбираю - открыть в PyCharm
3. Он открывается, но:
а) настройки пустые (это понятно)
б) наверху в заголовке написано c:\TEMP\script.py (это непонятно, я же открывал из c:\work\)
4. Наверху справа нажимаю Add Configuration. слева вверху на "+", добавляю Python, прописываю Script path (полный путь к файлу скрипта), параметры запуска скрипта, Python interpreter (путь к питону), working directory (путь к папке, где лежит скрипт).
5. Занимаюсь разработкой и тестированием скрипта
6. Сохраняю скрипт, закрываю PyCharm
.
7. Через некоторое время в папке c:\work\ на скрипте script.py нажимаю правой кнопкой и выбираю "Открыть в PyCharm".
8. Попал в ситуацию на шаге 3. Настроек, которые я делал ранее для этого скрипта - нет, и наверху опять путь c:\TEMP\
Как правильно работать в PyCharm, чтобы каждый раз при открытии скрипта, с которым уже работал ранее - не требовалось каждый раз при запуске заново вбивать руками все настройки?
P.S. если же просто открыть PyCharm - он предлагает список файлов, с которыми ранее работал, но там написано c:\TEMP\script.py. Почему c:\TEMP\, я же работал со скриптом из c:\work\ ? И, если я пытаюсь в этом списке по нему кликнуть - он говорит, что такого файла нет, давай уберём его из списка?
- Вопрос задан более трёх лет назад
- 454 просмотра
Комментировать
Решения вопроса 1

Надо создать проект. Все вот те настройки - это не настройки скрипта. Это настройки проекта.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- PyCharm
Как уменьшить поля в Пайчарм?
- 1 подписчик
- 13 нояб.
- 36 просмотров

- PyCharm
Как решить проблему с Python в терминале?
- 1 подписчик
- 10 нояб.
- 114 просмотров

- PyCharm
Как писать в пайчарм?
- 1 подписчик
- 25 окт.
- 86 просмотров

- PyCharm
Ошибка при установке пакета psycopg2?
- 1 подписчик
- 13 окт.
- 47 просмотров

- PyCharm
Как найти команду?
- 1 подписчик
- 28 сент.
- 87 просмотров

- Git
- +1 ещё
Как исправить «The repository is in the detached HEAD state» без консоли?
- 1 подписчик
- 21 сент.
- 83 просмотра
