it-swarm.com.de

Starten Sie Pycharm über die Befehlszeile (Terminal).

Ich möchte PyCharm für die Mathematik-Entwicklung ausprobieren. Normalerweise führe ich Eclipse aus, um die Sage-Entwicklung durchzuführen, aber jetzt möchte ich es mit PyCharm ausprobieren.

Um Eclipse mit Sage-Umgebungsvariablen zu starten, mache ich normalerweise in der Befehlszeile Folgendes:

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

Die erste Zeile lädt die Umgebungsvariablen von sage, die restliche startet Eclipse. Wie kann ich dasselbe für pyCharm tun? (Hinweis: Ich verwende einen Mac und Ubuntu für die Sage-Entwicklung; die oben genannten Befehle sind für beide Betriebssysteme unangemessen)

  1. Link 1 ist nahe an der Lösung, die ich suche, aber ich kann nirgendwo ein pyCharm.sh finden.
  2. Link 2 : Jetbrains gibt auch keine klaren Anweisungen.
27
torrho

Sie können Pycharm vom Mac-Terminal aus mit dem Befehl open starten. Geben Sie einfach open /path/to/App ein.

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/
0
Amit
  1. Öffnen Sie Application Pycharm
  2. Werkzeuge finden Sie in der Menüleiste
  3. Klicken Sie auf Create Command-line Launcher
  4. Überprüfen der ausführbaren Launcher-Datei, die in /usr/local/bin/charm erstellt wurde
  5. Projekt oder Datei öffnen, einfach $ charm YOUR_FOLDER_OR_FILE eingeben

Möge das was du brauchst.

113
joest

Sie haben Recht, dass die JetBrains-Hilfeseite nicht sehr klar ist. Unter OS X möchten Sie den Launcher verwenden:

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

Oder für die Community Edition:

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

Das Hinzufügen eines Symlinks zu dieser Binärdatei funktionierte leider nicht für mich (der Launcher würde abstürzen). Das Einstellen eines Alias ​​hat jedoch funktioniert. Fügen Sie dies in Ihrem .bash_profile (oder in welcher Shell auch immer Sie verwenden) hinzu:

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

Dann können Sie Befehle einfach mit pycharm ausführen. 

Damit können Sie zum Beispiel ein Projekt öffnen:

pycharm ~/repos/my-project

Oder öffnen Sie eine bestimmte Zeile einer Datei in einem Projekt:

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

Oder sehen Sie sich die Unterschiede zweier Dateien an (sie müssen nicht Teil eines Projekts sein):

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

Beachten Sie, dass ich absolute Pfade an diese Dateien übergeben musste, da PyCharm sie nicht finden konnte.

13
ford

Innerhalb der IDE können Sie klicken:

Extras/Befehlszeilen-Starter erstellen ...

 Create Command-line Launcher

12
augustocbx

Normalerweise benutze ich einen eingebauten Application Launcher (open) von OS X:

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

Dann kann ich Folgendes eingeben:

pc myfile1.txt myfiles*.py

Obwohl Sie keine (leichteren) Argumente an PyCharm übergeben können, wenn Sie Dateien schnell öffnen möchten (ohne vollständige Pfadnamen für die Datei zu verwenden), ist dies der Trick.

8
Speedy99

Aktualisieren

Es ist jetzt möglich , um den Befehlszeilenstarter automatisch aus der JetBrains Toolbox zu erstellen. Das ist wie man es macht:

  1. Öffnen Sie das Toolbox-Fenster.
  2. Gehen Sie zum Zahnradsymbol oben rechts (das Einstellungsfenster für die Toolbox selbst).
  3. Aktivieren Sie Generate Shell scripts;
  4. Füllen Sie das Textfeld Shell script location Mit dem Ort, an dem sich die Trägerraketen befinden sollen. Sie müssen dies manuell tun, es wird zu diesem Zeitpunkt nicht automatisch gefüllt!

Auf dem Mac könnte der Ort /usr/local/bin Sein. Für Anfänger können Sie einen beliebigen Pfad innerhalb der PATH-Variablen verwenden oder der PATH-Variablen in Ihrem Bash-Profil einen neuen Pfad hinzufügen. Verwenden Sie echo $PATH, Um zu sehen, welche Pfade vorhanden sind.

Hinweis ! Bei mir hat es nicht sofort geklappt, ich musste ein wenig herumfummeln, bevor die Skripte erstellt wurden. Sie können zum Getriebe des IDEA (PyCharm zum Beispiel)) gehen und den Starternamen anzeigen/ändern. Für PyCharm lautet der Standardname also pycharm, aber Sie können dies ändern zu was auch immer Sie bevorzugen.

Ursprüngliche Antwort

Wenn Sie die Toolbox nicht verwenden, können Sie trotzdem meine ursprüngliche Antwort verwenden.

~~ Aus irgendeinem Grund ist der Create Command Line Launcher In 2019.1 nicht mehr verfügbar. ~~ Weil er jetzt Teil der JetBrains Toolbox ist

So können Sie das Skript selbst erstellen:

Wenn Sie den Befehl charm bereits verwendet haben, verwenden Sie type -a charm, Um das Skript zu finden. Ändern Sie die pycharm-Version in den Dateipfaden. Beachten Sie, dass die Nummerierung in der ersten Variablen RUN_PATH Unterschiedlich ist. Sie müssen dies selbst im Verzeichnis nachschlagen.

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'

Wenn Sie den Befehl charm zuvor nicht verwendet haben, müssen Sie ihn erstellen.

Erstellen Sie die Charm-Datei wie folgt: /usr/local/bin/charm

Fügen Sie dann diesen Code hinzu (ändern Sie die Versionsnummer wie oben beschrieben in Ihre Version):

#!/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)
5
botenvouwer

Verwenden Sie Extras -> Befehlszeilen-Startprogramm erstellen, um ein Python-Skript zu installieren, in dem Sie den aktuellen Arbeitsordner einfach mit charm starten können.

Sehr wichtig!

Jedes Mal, wenn Sie ein Upgrade von pyCharm durchführen, müssen Sie dieses Befehlszeilentool erneut erstellen, da es sich lediglich um ein Python-Skript handelt, das auf eine möglicherweise veraltete pyCharm-Konfiguration verweist. Wenn Sie versuchen, charm . auszuführen, schlägt dies fehl

4
Ami Mahloof

Um PyCharm vom Terminal in Ubuntu 16.04 zu öffnen, geben Sie die CD in ein 

{installation home}/bin

was in meinem Fall war

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

und tippe dann:

./pycharm.sh
2
Nikhil Rawat

Navigieren Sie zu dem Verzeichnis am Terminal cd [your directory]

Navigiere zu dem Verzeichnis auf dem Terminal

verwenden Sie charm ., um das Projekt in PyCharm zu öffnen

Einfachste und schnellste Möglichkeit, ein Projekt in PyCharm zu öffnen

0

Nach der Installation auf kubuntu stellte ich fest, dass mein pycharm-Skript in ~/bin/pycharm nur ein Desktopeintrag war:

[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

Offensichtlich konnte ich dies nicht zum Öffnen von der Befehlszeile aus verwenden:

$ 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

Es gibt jedoch einen Hinweis in der Desktop-Eintragsdatei. In /snap/pycharm-community/ habe ich /snap/pycharm-community/current/bin/pycharm.sh gefunden. Ich habe ~/bin/pycharm entfernt (eigentlich umbenannt, um ein Backup zu haben) und habe es dann getan

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

dort fand ich wieder den Anfang des Pfades, indem ich das Desktop-Eingabeskript prüfte, mit dem ich beginnen musste.

Jetzt kann ich Dateien mit pycharm von der Kommandozeile aus öffnen. Ich weiß nicht, was ich dieses Mal während der Installation durcheinander gebracht habe. die letzten zwei Male, die ich neu installiert habe, hatte es keine Probleme.

0
EL_DON

Einfache Lösung ohne Pfadangabe:

open -b com.jetbrains.pycharm



Sie können es als Alias ​​für eine einfachere Verwendung im Alltag festlegen (in Ihrem .bash_rc usw.):

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

Verwendungszweck:

pycharm .
pycharm file.py
0
luckydonald

Nützliche Informationen für einige:

Bei der Installation von PyCharm als Snap-Paket wird unter Linux automatisch der Befehlszeilen-Starter namens pycharm-professional, pycharm-community oder pycharm-education erstellt. Die Tools | Der Befehl Befehlszeilenstart erstellen ist daher nicht verfügbar. 

0
Leo Naylor

open /Applications/PyCharm\ CE.app/ öffnet das primäre Dialogfeld von Pycharm, in dem Sie das Projekt auswählen können.

arbeitete für mich mit macOS 10.13.6 & Pycharm 2018.1

0
Sathish

Unter Mac OSX

Ab 2019.1 EAP ist die Option Create Commmand Line Launcher nicht mehr im Menü Werkzeuge verfügbar. Meine Lösung ist, den folgenden Alias ​​in meinem bash/zsh-Profil zu verwenden:

Stellen Sie sicher, dass Sie chmod -x ...../pycharm ausführen, um die Binärdatei ausführbar zu machen.

# 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)'"
0
episodeyang

Update: Meine Antwort funktioniert nicht mehr ab PyCharm 2018.X

Unter MacOS habe ich diesen Alias ​​in meiner bashrc:

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

Ich kann es so verwenden: pycharm <project dir or file>

Der Vorteil von PyCharm auf diese Weise ist, dass Sie das aktuelle Verzeichnis in PyCharm mit pycharm . öffnen können (im Gegensatz zu /Applications/PyCharm*.app/Contents/MacOS/pycharm ., das stattdessen das PyCharm-Anwendungsverzeichnis öffnet)


Update: Ich habe zur JetBrains Toolbox gewechselt, um PyCharm zu installieren. PyCharm zu finden ist etwas komplexer geworden, aber bisher hatte ich Glück mit diesem Monster:

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

Das mitgelieferte Hilfsprogramm, das unter /usr/local/bin/charm installiert wird, funktionierte unter OS X nicht, daher habe ich dieses Hilfsprogramm zusammengehackt. Es funktioniert tatsächlich!

#!/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
0
rjurney