Les blocages dans Windows ne fonctionnent pas.

Cygwin est également installé

NameError: le nom 'fcntl' n'est pas défini

  Traceback (most recent call last):
      File "C:\Users\Smart\AppData\Local\Programs\Python\Python35-32\Scripts\hangups-script.py", line 9, in <module>
        load_entry_point('hangups==0.4.1', 'console_scripts', 'hangups')()
      File "c:\users\smart\appdata\local\programs\python\python35-32\lib\site-packages\hangups\ui\__main__.py", line 988, in main
        }, col_scheme, palette_colors, datetimefmt, notifier
      File "c:\users\smart\appdata\local\programs\python\python35-32\lib\site-packages\hangups\ui\__main__.py", line 87, in __init__
        event_loop=urwid.AsyncioEventLoop(loop=loop)
      File "c:\users\smart\appdata\local\programs\python\python35-32\lib\site-packages\urwid\main_loop.py", line 111, in __init__
        screen = raw_display.Screen()
      File "c:\users\smart\appdata\local\programs\python\python35-32\lib\site-packages\urwid\raw_display.py", line 89, in __init__
        fcntl.fcntl(self._resize_pipe_rd, fcntl.F_SETFL, os.O_NONBLOCK)
    NameError: name 'fcntl' is not defined
-1
SmartManoj 17 janv. 2017 à 13:28

2 réponses

Meilleure réponse

Le code que vous utilisez (ou le module que vous appelez) utilise fcntl. Le module ou la ligne incriminée dans votre code qui utilise le module fcntl de la bibliothèque standard provoquera une erreur car cette fonction n'est disponible que sous Linux.

Si vous parvenez à localiser l'origine de l'erreur, vous la résoudrez soit en utilisant une autre fonction ou un autre module.

1
iFlo 17 janv. 2017 à 10:33

Comme @simonzack l'a souligné, vous devez utiliser Python pour Cygwin.

Vous pouvez avoir installé à partir d'un shell Windows, vous n'avez peut-être pas installé Python pour Cygwin, ou vous pouvez avoir un Windows Python plus tôt dans votre chemin que celui de Cygwin.

Faites un which ou type dans votre shell pour déterminer ce que le chemin est à votre installation Python que votre appel. Assurez-vous qu'il provient d'un chemin Cygwin et non d'une installation Windows.

0
Jeff Axelrod 31 déc. 2019 à 00:18