Когда предполагается, что python script запускается из pyenv
virtualenv
, что является правильным shebang для файла?
В качестве примера тестового примера, в python по умолчанию для моей системы (OSX) не установлен pandas
. Pyenv virtualenv venv_name
делает. Я попытался получить путь к исполняемому файлу python из virtualenv.
$ pyenv activate venv_name
(venv_name)$ which python
/Users/username/.pyenv/shims/python
Поэтому я сделал свой пример script.py
:
#!/Users/username/.pyenv/shims/python
import pandas as pd
print 'success'
Но когда я попытался запустить script, я получил сообщение об ошибке:
(venv_name) $ ./script.py
./script.py: line 2: import: command not found
./script.py: line 3: print: command not found
Хотя запуск этого пути в командной строке работает нормально:
(venv_name) $ /Users/username/.pyenv/shims/python script.py
success
(venv_name) $ python script.py # also works
success
Что для этого нужно? В идеале, я хочу что-то общее, чтобы оно указывало на питон любого моего текущего venv.