É definitivamente possível. A maneira mais fácil de fazer isso seria chamar o Windows Python explicitamente quando você quiser executar um script Python. Se você estivesse fazendo isso a partir de um shell do Cygwin, provavelmente desejaria um comando semelhante a este:
/cygdrive/c/Python27/python.exe script.py
Isso chama o Python com seu script como um argumento e deve executá-lo praticamente da mesma maneira como se fosse executado no Windows.
No entanto, "possível" não é o mesmo que "sensato". Eu recomendo strongmente usar o Cygwin Python de dentro do Cygwin; Há um monte de maneiras em que Cygwin e Windows Python irão interagir de maneiras ruins ou inesperadas. Fora do topo da minha cabeça:
-
O Windows Python espera um terminal que atue como o terminal cmd do Windows; O MinTTY e outros terminais Cygwin se comportam de maneira diferente, então é provável que você veja um comportamento inesperado relacionado à impressão de coisas no terminal. Como um exemplo específico, se um comando do Python estiver imprimindo um monte de mensagens para o terminal a uma taxa lenta, como mensagens de progresso em andamento para algum processo de longa duração, elas provavelmente serão armazenadas em cache e escritas de uma só vez quando houver 64 kB deles
-
O shell do Cygwin expande automaticamente globs, como
*.txt
, antes de passá-las como argumentos para um script. A linha de comando do Windows não faz isso, o que significa que qualquer coisa envolvendo caracteres como*
ou?
como argumento de script pode ser interpretada de maneiras inesperadas. -
Os programas Cygwin geralmente usam finais de linha no estilo Linux (
LF
), enquanto os programas do Windows geralmente usam finais de linha no estilo do Windows (CRLF
). O Cygwin e o Windows Python não são diferentes, e você pode obter erros ou comportamentos inesperados com manipulação e processamento de strings se os finais de linha em um arquivo não forem como o programa espera.
Nada disso é um problema que não pode ser trabalhado com cuidado, atenção e conscientização, mas se você optar por usar o Cygwin Python no Cygwin, é muito menos provável que você precise contornar os problemas no primeiro. lugar.