Oui, je souhaite créer une configuration d'exécution dans PyCharm pour exécuter Pyinstaller et obtenir mon exécutable. Selon la documentation Pyinstaller , vous devriez pouvoir localiser un script python appelé pyinstaller-folder/pyinstaller.py
après l'installation, mais il n'y était pas. Ensuite, j'ai regardé attentivement et trouvé cet autre nommé pyinstaller-folder/__main__.py
qui devrait être le même <- (devine sauvage), alors j'ai configuré ma configuration en cours comme ceci:
Après l'avoir exécuté, me donne cette erreur:
/usr/local/Cellar/python3/3.4.3/bin/python3.4 /usr/local/lib/python3.4/sit
e-packages/PyInstaller/__main__.py --onefile --nowindow --osx-bundle-identifier=jg.optimizer -F --name=genoptimizer optimizer/manage.py
Traceback (most recent call last):
File "/usr/local/lib/python3.4/site-packages/PyInstaller/__main__.py", line 26, in <module>
from . import __version__
SystemError: Parent module '' not loaded, cannot perform relative import
Process finished with exit code 1
Il semble qu'un module parent soit nécessaire pour fonctionner, mais à quoi ressemblerait-il?
Le package PyInstaller est un module exécutable et peut être exécuté à l'aide de python -m PyInstaller
. Pour le configurer en tant que cible d'exécution dans PyCharm, laissez le champ "Script" vide, écrivez -m PyInstaller
dans le champ "Options de l'interprète" et placez les paramètres PyInstaller dans le champ "Paramètres de script".
Par exemple:
PyCharm se plaindra que le champ "Script" est vide, mais il vous laissera quand même exécuter la configuration.
Après plus de deux ans, il y a peut-être une meilleure option.
Dans le menu PyCharm, sélectionnez Fichier -> Paramètres .
Dans la boîte de dialogue Paramètres, recherchez Outils -> Outils externes et utilisez le vert + pour ajouter un nouvel outil externe.
Par exemple:
Ensuite, le IDE vous permettra de l'exécuter sur n'importe quel script python. Faites un clic droit sur le fichier et le menu contextuel affichera Outils externes -> PyInstaller .
Donc, comme Pycharm a récemment mis à jour, mon cas était un peu différent car j'ai installé pyinstaller
à partir des paramètres de l'interpréteur, comme le montre l'illustration suivante:
Pour les utilisateurs de Linux :
Vous pouvez l'installer à la fois dans Python 2.7
ou Python 3.7+
. Assurez-vous d’obtenir le chemin où pyinstaller
a été stocké. Ensuite, dans l’option Paramètres, essayez de trouver Outils -> Outils externes et ajoutez un nouvel outil externe comme le montre l’image suivante:
Pour les utilisateurs Windows :
Si vous utilisez Pycharm ou un environnement virtuel. Malheureusement, Pycharm crée son environnement vertical local dans venv
path une fois que vous avez indiqué interpreter
. Vous devez donc définir l’outil externe (pyinstaller) sur le chemin réel de votre fichier python 3.7 .exe, comme le montre l’image
Pour ceux d'entre nous sur Windows avec Anaconda qui essaie de comprendre cela, j'ai trouvé qu'il était plus simple de configurer une configuration Bash (je crois que vous avez besoin du plugin BashSupport pour cela) et de définir:
pyinstaller
(en supposant que pyinstaller est dans votre chemin, sinon, le chemin complet)C:\Windows\system32\cmd.exe
(oui, une configuration bash peut simplement utiliser le programme de commande standard)/C
script_name.py
(avec tous les autres arguments pyinstaller)C:\Path\To\Script