There are multiple methods to do this, which all vary in user friendliness and “keep your system clean” philosophy.
Flatpak
I have not tried this, but it may work.
flatpak install pycharm
# choose which one you want. Community is free, Professional is not.
Both community and professional PyCharm are unofficial. This means PyCharm devs likely dont work on making the Flatpak work.
It could be a repackaged Snap though, which shares a few concepts like portals, so they could work on that and simultaneously fix the Flatpak.
Pycharm is proprietary, so nobody else can fix it for them.
Layering
Another method would be to enable the PyCharm repo (fedora-third-party enable
) and layer it with rpm-ostree.
This will change your host operating system permanently, and slow down updates but it is fine, really.
rpm-ostree install python3-pip pycharm
# not sure how the package is called
Instead, if you want to use the free community edition, add the copr.
I made a script to simplify that, and recommend to use it.
copr enable phracek/PyCharm
rpm-ostree install python3-pip pycharm-community
Podman & Distrobox
The podman method would be to install both in a container. I recommend Distrobox here, against Fedoras decision to use “toolbx”, because it has a useful feature of separating your home directories.
This will keep your dev environment separate from your home, a crucial feature I think.
rpm-ostree install distrobox
# reboot
distrobox-create PyDev --home $HOME/PyDev
distrobox-enter PyDev
From there you can install pycharm-community:
sudo dnf copr enable phracek/PyCharm
sudo dnf install -y python3-pip pycharm-community
distrobox-export --app pycharm-community
If you want to use the professional edition:
fedora-third-party enable
sudo dnf --refresh install pycharm
# not sure how the app is called
distrobox-export --app pycharm
This will make the pycharm app visible in your app drawer.
Use
distrobox upgrade --all
To keep your boxes up-to-date. Another feature not existing in toolbx.
Official tarball
Executable files installed in a random user location, a setup script deals with the rest.
This also has pros and cons, but probably more pros, if the setup doesnt expect dnf
.
Links: