我有一個腳本,我希望在全球範圍內可用。我已經與標準hashbang開始吧:從virtualenv bin中運行python腳本不起作用
#! /usr/bin/env python
它鏈接到我的virtualenv的bin目錄:
~/environments/project/env/bin/myscript
,並補充說目錄到我的路徑。當我運行命令:
myscript
我得到一個導入錯誤,其中一個庫。但是,如果我激活虛擬環境並運行腳本,它將按預期工作。
我已經排除了符號鏈接的問題(我也嘗試了將腳本移動到bin文件夾中)。我也試着使用python腳本運行
python ~/environments/project/env/bin/myscript
以前我是用一個腳本,啓動了環境,然後跑到我的劇本,但我的印象是,腳本從該文件夾運行應與virtualenv中的運行口譯員和網站包。任何想法,爲什麼這可能無法正常工作或我可以調試這種方式?
與你的問題無關:即使大多數shell忽略它,使用'#! /'嚴格來說是錯誤的,因爲空間必須被視爲程序路徑的一部分。放下空間,你的安全。 – kay 2012-08-15 02:00:26