2017-09-14 71 views
1

我有一个Python包与脚本与shebang #!/usr/bin/env python 。在我构建了这个包的轮子后,我检查了.whl中的脚本,并且新的shebang是#!/path/to/some/virtualenv/bin/python。这是通向虚拟世界的途径,当我构建车轮时,甚至不会有这样的活跃。轮包脚本指向本地Python路径

> which python 
#!/path/to/active/virtualenv/bin/python 

> which wheel 
#!/path/to/active/virtualenv/bin/wheel 

这打破了我的包的分布。我怎样才能解决这个问题?

+0

echo $ PATH的输出是什么? #!/ usr/bin/env搜索您当前的$ PATH并使用它找到的第一个python。 –

回答

1

拆分过程分为2个阶段:

python setup.py build --executable '/usr/bin/env python' && 
python setup.py bdist_wheel [--universal] 

build命令创建build/子目录;当一个bdist_*命令(bdist_eggbdist_wheel)检测到子目录的存在时,它不会运行build命令,但会使用任何build放入build/

我在所有发布脚本中都使用了这种方法。两个例子:CheetahSQLObject

+0

修复它 - 谢谢! – chiroptera