Запустить Pycharm из командной строки (терминала)

Я хочу попробовать PyCharm для развития математики шалфея. Обычно я запускаю eclipse для разработки шалфея, но теперь я хочу попробовать его с помощью PyCharm.

Чтобы запустить eclipse с переменными среды sage, в командной строке я обычно делаю следующее:

sage -sh
cd /path/to/eclipse
./eclipse

Первая строка загружает переменные среды sage, остальные запускают eclipse. Как я могу сделать то же самое для pyCharm? (заметьте, что я использую Mac и Ubuntu для развития шалфея, команды выше агностически для обеих ОС)

  • Ссылка 1 близко к решению, которое я ищу, однако я не могу найти pyCharm.sh в любом месте.
  • Ссылка 2: Jetbrains также не дает четких инструкций.

Ответы

Ответ 1

Вы можете запустить Pycharm с терминала Mac с помощью команды open. Просто введите open /path/to/App

Applications$ ls -lrt PyCharm\ CE.app/
total 8
[email protected] 71 amit  admin  2414 Sep 24 11:08 lib
[email protected]  4 amit  admin   136 Sep 24 11:08 help
[email protected] 12 amit  admin   408 Sep 24 11:08 plugins
[email protected] 29 amit  admin   986 Sep 24 11:08 license
[email protected]  4 amit  admin   136 Sep 24 11:08 skeletons
[email protected]  1 amit  admin    10 Sep 24 11:08 build.txt
[email protected]  6 amit  admin   204 Sep 24 11:12 Contents
[email protected] 14 amit  admin   476 Sep 24 11:12 bin
[email protected] 31 amit  admin  1054 Sep 25 21:43 helpers
/Applications$
/Applications$ open PyCharm\ CE.app/

Ответ 2

  1. Открытое приложение Pycharm
  2. Найти инструменты в строке меню
  3. Нажмите Create Command-line Launcher
  4. Проверка исполняемого файла модуля запуска, который был создан в /usr/local/bin/charm
  5. Откройте проект или файл, просто введите $ charm YOUR_FOLDER_OR_FILE

Пусть это то, что вам нужно.

Ответ 3

Вы правы, что страница JetBrains не очень ясна. В OS X вы хотите использовать пусковую установку по адресу:

/Applications/PyCharm.app/Contents/MacOS/pycharm

Или, для публикации сообщества:

/Applications/PyCharm\ CE.app/Contents/MacOS/pycharm

К сожалению, добавление символической ссылки в этот двоичный файл не сработает для меня (пусковая установка сбой). Тем не менее, настройка псевдонима. Добавьте это в свой .bash_profile (или какую-либо оболочку, которую вы используете):

alias pycharm="/Applications/PyCharm CE.app/Contents/MacOS/pycharm"

Затем вы можете запускать команды просто pycharm.

С этим вы можете делать такие вещи, как открыть проект:

pycharm ~/repos/my-project

Или откройте определенную строку файла в проекте:

pycharm ~/repos/my-project --line 42 ~/repos/my-project/script.py

Или просмотрите diff двух файлов (они не должны быть частью проекта):

pycharm ~/some_file.txt ~/Downloads/some_other_file.txt

Обратите внимание, что мне нужно было пройти абсолютные пути к этим файлам, или PyCharm не смог их найти.

Ответ 4

Внутри IDE вы можете нажать:

Инструменты/Создать панель запуска командной строки...

Create Command-line Launcher

Ответ 5

Обычно я использую встроенную панель запуска приложений (открытую) из OS X:

alias pc='open -a /Applications/PyCharm\ CE.app'

Затем я могу напечатать:

pc myfile1.txt myfiles*.py

Хотя вы не можете (легко) передать args в PyCharm, если вы хотите быстро открыть файлы (без использования полных путей к файлу), это делает трюк.

Ответ 6

Используйте Tools → Create Command-Line Launcher, который установит python script, где вы можете просто запустить текущую рабочую папку с помощью прелести.

Очень важно!

В любое время, когда вы обновляете pyCharm, вам нужно заново создать этот инструмент командной строки, так как его просто python script указывает на конфигурацию pyCharm, которая может быть устаревшей и приведет к сбою при попытке запустить charm .

Ответ 7

Обновить

Теперь можно автоматически запускать средство запуска командной строки из JetBrains Toolbox. Вот как вы это делаете:

  1. Откройте окно панели инструментов;
  2. Перейдите к значку шестеренки в правом верхнем углу (окно настроек для самой панели инструментов);
  3. Включить Generate shell scripts;
  4. Заполните текстовое поле Shell script location в котором вы хотите разместить средства запуска. Вы должны сделать это вручную, он не будет заполняться автоматически в это время!

На Mac расположение может быть /usr/local/bin. Для новичков вы можете использовать любой путь внутри переменной PATH или добавить новый путь к переменной PATH в своем профиле bash. Используйте echo $PATH чтобы увидеть, какие пути есть.

Примечание У меня это не сработало сразу, мне пришлось немного повозиться, прежде чем сгенерировать сценарии. Вы можете перейти к коробке передач IDEA (например, PyCharm) и посмотреть/изменить имя программы запуска. Поэтому для PyCharm имя по умолчанию - pycharm но вы можете изменить его на любое pycharm.

Оригинальный ответ

Если вы не используете панель инструментов, вы все равно можете использовать мой оригинальный ответ.

~~ По какой-то причине средство Create Command Line Launcher больше не доступно в 2019.1. ~~ Потому что оно теперь является частью JetBrains Toolbox

Вот как вы можете создать скрипт самостоятельно:

Если вы уже использовали команду type -a charm перед использованием, type -a charm чтобы найти скрипт. Измените версию Pycharm в пути к файлам. Обратите внимание, что нумерация в первой переменной RUN_PATH отличается. Вам придется самому посмотреть это в директории.

RUN_PATH = u'/Users/boatfolder/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/191.6183.50/PyCharm.app'
CONFIG_PATH = u'/Users/boatfolder/Library/Preferences/PyCharm2019.1'
SYSTEM_PATH = u'/Users/boatfolder/Library/Caches/PyCharm2019.1'

Если вы ранее не использовали команду charm, вам придется ее создать.

Создайте файл charm где-нибудь так: /usr/local/bin/charm

Затем добавьте этот код (измените номер версии на вашу версию, как описано выше):

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import socket
import struct
import sys
import os
import time

# see com.intellij.idea.SocketLock for the server side of this interface

RUN_PATH = u'/Users/boatfolder/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/191.6183.50/PyCharm.app'
CONFIG_PATH = u'/Users/boatfolder/Library/Preferences/PyCharm2019.1'
SYSTEM_PATH = u'/Users/boatfolder/Library/Caches/PyCharm2019.1'


def print_usage(cmd):
    print(('Usage:\n' +
           '  {0} -h | -? | --help\n' +
           '  {0} [project_dir]\n' +
           '  {0} [-l|--line line] [project_dir|--temp-project] file[:line]\n' +
           '  {0} diff <left> <right>\n' +
           '  {0} merge <local> <remote> [base] <merged>').format(cmd))


def process_args(argv):
    args = []

    skip_next = False
    for i, arg in enumerate(argv[1:]):
        if arg == '-h' or arg == '-?' or arg == '--help':
            print_usage(argv[0])
            exit(0)
        elif i == 0 and (arg == 'diff' or arg == 'merge' or arg == '--temp-project'):
            args.append(arg)
        elif arg == '-l' or arg == '--line':
            args.append(arg)
            skip_next = True
        elif skip_next:
            args.append(arg)
            skip_next = False
        else:
            path = arg
            if ':' in arg:
                file_path, line_number = arg.rsplit(':', 1)
                if line_number.isdigit():
                    args.append('-l')
                    args.append(line_number)
                    path = file_path
            args.append(os.path.abspath(path))

    return args


def try_activate_instance(args):
    port_path = os.path.join(CONFIG_PATH, 'port')
    token_path = os.path.join(SYSTEM_PATH, 'token')
    if not (os.path.exists(port_path) and os.path.exists(token_path)):
        return False

    try:
        with open(port_path) as pf:
            port = int(pf.read())
        with open(token_path) as tf:
            token = tf.read()
    except (ValueError):
        return False

    s = socket.socket()
    s.settimeout(0.3)
    try:
        s.connect(('127.0.0.1', port))
    except (socket.error, IOError):
        return False

    found = False
    while True:
        try:
            path_len = struct.unpack('>h', s.recv(2))[0]
            path = s.recv(path_len).decode('utf-8')
            if os.path.abspath(path) == os.path.abspath(CONFIG_PATH):
                found = True
                break
        except (socket.error, IOError):
            return False

    if found:
        cmd = 'activate ' + token + '\0' + os.getcwd() + '\0' + '\0'.join(args)
        if sys.version_info.major >= 3: cmd = cmd.encode('utf-8')
        encoded = struct.pack('>h', len(cmd)) + cmd
        s.send(encoded)
        time.sleep(0.5)  # don't close the socket immediately
        return True

    return False


def start_new_instance(args):
    if sys.platform == 'darwin':
        if len(args) > 0:
            args.insert(0, '--args')
        os.execvp('/usr/bin/open', ['-a', RUN_PATH] + args)
    else:
        bin_file = os.path.split(RUN_PATH)[1]
        os.execv(RUN_PATH, [bin_file] + args)


ide_args = process_args(sys.argv)
if not try_activate_instance(ide_args):
    start_new_instance(ide_args)

Ответ 8

Чтобы открыть PyCharm из терминала в Ubuntu 16.04, перейдите в

{installation home}/bin

который в моем случае был

/home/nikhil/pycharm-community-2018.1.1/bin/

а затем введите:

./pycharm.sh

Ответ 9

Перейдите в каталог на терминале cd [your directory]

Перейдите в каталог на терминале

использовать charm. открыть проект в PyCharm

Самый простой и быстрый способ открыть проект в PyCharm

Ответ 10

Включенная утилита, которая устанавливается на /usr/local/bin/charm, не работает для меня на OS X, поэтому я вместо этого взломал эту утилиту. Это действительно работает!

#!/usr/bin/env bash

if [ -z "$1" ]
then
  echo ""
  echo "Usage: charm <filename>"
  exit
fi
FILENAME=$1

function myreadlink() {
  (
  cd $(dirname $1)         # or  cd ${1%/*}
  echo $PWD/$(basename $1) # or  echo $PWD/${1##*/}
  )
}

FULL_FILE=`myreadlink $FILENAME`;

/Applications/PyCharm\ CE.app/Contents/MacOS/pycharm $FULL_FILE

Ответ 11

Обновление: мой ответ больше не работает с PyCharm 2018.X

В MacOS у меня есть этот псевдоним в моем bashrc:

alias pycharm="open -a /Applications/PyCharm*.app"

Я могу использовать это так: pycharm <project dir or file>

Преимущество запуска PyCharm таким образом заключается в том, что вы можете открыть текущий pycharm. в PyCharm, используя pycharm. (в отличие от /Applications/PyCharm*.app/Contents/MacOS/pycharm. вместо этого открывается каталог приложения PyCharm)


Обновление: я переключился на JetBrains Toolbox для установки PyCharm. Найти PyCharm стало немного сложнее, но пока мне повезло с этим монстром:

alias pycharm="open -a \"\$(ls -r  /Applications/apps/PyCharm*/*/*/PyCharm*.app | head -n 1 | sed 's/:$//')\""

Ответ 12

После установки на kubuntu я обнаружил, что мой скрипт pycharm в ~/bin/pycharm был просто записью на рабочем столе:

[Desktop Entry]                                                                                                                                                                                                 
Version=1.0
Type=Application
Name=PyCharm Community Edition
Icon=/snap/pycharm-community/79/bin/pycharm.png
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop /snap/bin/pycharm-community %f
Comment=Python IDE for Professional Developers
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce

Очевидно, я не мог использовать это, чтобы открыть что-нибудь из командной строки:

$ pycharm setup.py
/home/eldond/bin/pycharm_old: line 1: [Desktop: command not found
/home/eldond/bin/pycharm_old: line 4: Community: command not found

Но есть подсказка в файле ввода рабочего стола. Заглянув в /snap/pycharm-community/, я нашел /snap/pycharm-community/current/bin/pycharm.sh. Я удалил ~/bin/pycharm (фактически переименовал его, чтобы иметь резервную копию), а затем сделал

ln -s /snap/pycharm-community/current/bin/pycharm.sh pycharm

где, опять же, я нашел начало пути, проверив сценарий ввода с рабочего стола, с которого мне пришлось начинать.

Теперь я могу открыть файлы с pycharm из командной строки. Я не знаю, что я испортил во время установки на этот раз; последние два раза я делал свежие установки, с этим проблем не было.

Ответ 13

Полезная информация для некоторых:

В Linux при установке PyCharm в виде пакета оснастки автоматически создается средство запуска командной строки с именем pycharm-professional, pycharm-community или pycharm-Educational. Инструменты | Поэтому команда "Создать командную строку" недоступна.

Ответ 14

На Mac OSX

Обновление 2019/05 Теперь это можно сделать в приложении JetBrains Toolbox. Вы можете установить его один раз с помощью панели инструментов для всех ваших IDE JetBrain.


Начиная с 2019.1 EAP, Create Commmand Line Launcher больше не доступна в меню "Инструменты". Мое решение состоит в том, чтобы использовать следующий псевдоним в моем профиле bash/zsh:

Убедитесь, что вы запускаете chmod -x...../pycharm чтобы сделать двоичный файл исполняемым.

# in your ~/.profile or other rc file to the effect.

alias pycharm="open -a '$(ls -r /Users/geyang/Library/Application\ Support/JetBrains/Toolbox/apps/PyCharm-P/**/PyCharm*.app/Contents/MacOS/pycharm)'"

Ответ 15

open/Applications/PyCharm\ CE.app/ открывает главное диалоговое окно Pycharm для выбора проекта.

работал для меня с macOS 10.13.6 и Pycharm 2018.1

Ответ 16

Простое решение без необходимости патчей:

open -b com.jetbrains.pycharm



Вы можете установить его в качестве псевдонима для повседневного более легкого использования (поместите в ваш .bash_rc и т.д.):

alias pycharm='open -b com.jetbrains.pycharm'

Использование:

pycharm .
pycharm file.py

Ответ 17

В Ubuntu добавляется одна вещь: Pycharm запускается с charm или charm [file]. Если вы дадите pycharm, он не будет найден.

Ответ 18

Это сработало для меня на моем MacOS MacOS Mojave 2017 года (версия 10.14.3).

  1. Откройте ваш ~/.bash_profile: nano ~/.bash_profile

  2. Добавьте псевдоним: alias pycharm="open/Applications/PyCharm\ CE.app"

  3. Обновление терминала: source ~/.bash_profile

  4. Утверждают, что это работает: pycharm