Versuch, Cython mit PyCharm zu verwenden
Nachdem Sie setup.py eingestellt und ausgeführt haben, beziehen Sie sich auf
/Users/username/PycharmProjects/cyyc/venv/bin/python3.6 /Users/username/PycharmProjects/cyyc/setup.py build_ext --inplace
Traceback (most recent call last):
File "/Users/username/PycharmProjects/cyyc/setup.py", line 8, in <module>
ext_modules=cythonize("helloworld.pyx")
File "/Users/username/PycharmProjects/cyyc/venv/lib/python3.6/site-packages/Cython/Build/Dependencies.py", line 897, in cythonize
aliases=aliases)
File "/Users/username/PycharmProjects/cyyc/venv/lib/python3.6/site-packages/Cython/Build/Dependencies.py", line 777, in create_extension_list
for file in nonempty(sorted(extended_iglob(filepattern)), "'%s' doesn't match any files" % filepattern):
File "/Users/username/PycharmProjects/cyyc/venv/lib/python3.6/site-packages/Cython/Build/Dependencies.py", line 102, in nonempty
raise ValueError(error_msg)
ValueError: 'helloworld.pyx' doesn't match any files
Prozess mit Beendigungscode 1 abgeschlossen
Mir wurde gesagt, dass helloworld.pyx nicht gefunden werden konnte. ("Cyyc" ist der Projektname)
macOS High Sierra 10.13.6 PyCharm Professional 2018.2 (mit Plejaden japanisiert) Python3.6 Verwenden Sie virtualenv
Der Speicherort der .pyx-Datei wurde zu einem absoluten Pfad.
setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize("/Users/username/PycharmProjects/cyyc/helloworld.pyx")
)
Es war erfolgreich, aber das ist unpraktisch.
Überprüfen Sie die Einstellungen des externen Tools.
PyCharm> Einstellungen> Tools> Externe Tools
Das Arbeitsverzeichnis ist standardmäßig "/ venv / bin", aber ändern Sie es in das Verzeichnis, das die Quelldateien enthält. Geben Sie hier vorerst das Projektverzeichnis "$ Projectpath $" mit einem Makro an. Wie ich später bemerkte, stellte Referenced Site 2 dies ebenfalls so ein.
Setup.py wiederhergestellt.
setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize("helloworld.pyx")
)
Bei der Ausführung wurde eine .so-Datei generiert.
Möglicherweise, weil das erste Argument in den Einstellungen des externen Tools mit einem Makro als "FilePath" angegeben ist, ist diese Datei das Argument, wenn Sie das externe Tool mit einer anderen Datei als ** setup.py ** open ausführen. Wird eingegeben und kann nicht ausgeführt werden.
Recommended Posts