首页 > 解决方案 > 只能手动调用pycharm.sh启动Pycharm

问题描述

我不知道为什么,但是每次我在转到 Tools->Create Desktop Entry 后尝试启动 PyCharm 时,我都会得到以下信息

在此处输入图像描述

现在,正如我在一些类似的问题中看到的那样,我已将 JAVA_HOME 和 PYCHARM_JDK 添加到我的 .zshrc 文件中(我使用 oh-my-zsh)

# This is for Pycharm
export JAVA_HOME="/home/internetmosquito/.sdkman/candidates/java/current"
export JDK_HOME="/home/internetmosquito/.sdkman/candidates/java/current"
export PYCHARM_JDK="/home/internetmosquito/.sdkman/candidates/java/current"

顺便说一句,如果你想知道 .sdkman 是什么,我用它来处理不同的 Java 版本,如果你检查它指向什么,它是一个有效的 Java 安装

 internetmosquito@internetmosquito-PE72-7RD  ~  ls -ltra /home/internetmosquito/.sdkman/candidates/java
total 16
lrwxrwxrwx 1 internetmosquito internetmosquito   11 feb 10 20:24 current -> 11.0.2-open
drwxr-xr-x 9 internetmosquito internetmosquito 4096 feb 10 20:24 8u152-zulu
drwxr-xr-x 4 internetmosquito internetmosquito 4096 feb 10 20:24 .
drwxr-xr-x 8 internetmosquito internetmosquito 4096 feb 10 20:24 11.0.2-open
drwxr-xr-x 5 internetmosquito internetmosquito 4096 feb 10 20:24 ..
 internetmosquito@internetmosquito-PE72-7RD  ~  ls -ltra /home/internetmosquito/.sdkman/candidates/java/11.0.2-open 
total 36
drwxr-xr-x  4 internetmosquito internetmosquito 4096 feb 10 20:24 ..
drwxr-xr-x  3 internetmosquito internetmosquito 4096 feb 10 20:24 include
drwxr-xr-x  2 internetmosquito internetmosquito 4096 feb 10 20:24 bin
drwxr-xr-x  6 internetmosquito internetmosquito 4096 feb 10 20:24 lib
-rw-r--r--  1 internetmosquito internetmosquito 1214 feb 10 20:24 release
drwxr-xr-x  2 internetmosquito internetmosquito 4096 feb 10 20:24 jmods
drwxr-xr-x 72 internetmosquito internetmosquito 4096 feb 10 20:24 legal
drwxr-xr-x  8 internetmosquito internetmosquito 4096 feb 10 20:24 .
drwxr-xr-x  4 internetmosquito internetmosquito 4096 feb 10 20:24 conf

因此,如果我尝试回显 Pycharm 正在寻找的任何这些变量,我会得到合法的输出......

 internetmosquito@internetmosquito-PE72-7RD  ~  echo $JAVA_HOME
/home/internetmosquito/.sdkman/candidates/java/current
 internetmosquito@internetmosquito-PE72-7RD  ~  echo $JDK_HOME
/home/internetmosquito/.sdkman/candidates/java/current
 internetmosquito@internetmosquito-PE72-7RD  ~  echo $PYCHARM_JDK
/home/internetmosquito/.sdkman/candidates/java/current

显然,java 工作正常

 ✘ internetmosquito@internetmosquito-PE72-7RD  ~/Downloads/pycharm-2019.1/bin  java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

有趣的是,如果我在终端中手动运行 pycharm.sh,一切正常......

internetmosquito@internetmosquito-PE72-7RD  ~/Downloads/pycharm-2019.1/bin  ./pycharm.sh 
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.intellij.util.ReflectionUtil to field sun.awt.X11.XToolkit.awtAppClassName
WARNING: Please consider reporting this to the maintainers of com.intellij.util.ReflectionUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2021-02-14 21:47:41,590 [   1332]   WARN - llij.ide.plugins.PluginManager - Plugin "Markdown support" is incompatible (until build 173.SNAPSHOT < PY-193.7288.30) 
2021-02-14 21:47:41,986 [   1728]   WARN - llij.ide.plugins.PluginManager - Plugin "Markdown support" is incompatible (until build 173.SNAPSHOT < PY-193.7288.30) 
2021-02-14 21:47:42,469 [   2211]   WARN - com.intellij.ide.ui.LafManager - List.rowHeight = 0 in Darcula; it may lead to performance degradation 
2021-02-14 21:47:42,473 [   2215]   WARN - com.intellij.ide.ui.LafManager - Table.rowHeight = 0 in Darcula; it may lead to performance degradation 
2021-02-14 21:47:42,473 [   2215]   WARN - com.intellij.ide.ui.LafManager - Tree.rowHeight = 0 in Darcula; it may lead to performance degradation 
2021-02-14 21:47:42,535 [   2277]   WARN - s.impl.EditorColorsManagerImpl - Cannot find scheme: VibrantInk from plugins: com.intellij.database

所以......我的看法是,每当我从桌面条目运行它时,由于某种原因它根本没有得到我的环境变量?任何指针?不确定这是否与 sdkman 有关,但我过去曾与它共存而没有问题。

标签: pythonpycharm

解决方案


在尝试了几个选项后,我添加了

export JAVA_HOME="/home/internetmosquito/.sdkman/candidates/java/current"
export JDK_HOME="/home/internetmosquito/.sdkman/candidates/java/current"
export PYCHARM_JDK="/home/internetmosquito/.sdkman/candidates/java/current"

到 /etc/environment ,它最终奏效了。我会稍微改进一下,因为基本上意味着如果我卸载 sdkman 我将无法重新开始,但现在就足够了


推荐阅读