各位,
在构建了一个名为myShtuff
的包并将其部署到本地pypicloud服务器之后,我可以将其安装到一个单独的虚拟env中。在
除了可执行文件的路径之外,一切似乎都正常。。。在
(venv)[ec2-user@ip-10-0-1-118 ~]$ pip freeze
Fabric==1.10.1
boto==2.38.0
myShtuff==0.1
ecdsa==0.13
paramiko==1.15.2
pycrypto==2.6.1
wsgiref==0.1.2
如果我尝试直接运行脚本,我会得到:
^{pr2}$但是,我可以通过:
(venv)[ec2-user@ip-10-0-1-118 ~]$ python /home/ec2-user/venv/lib/python2.7/site-packages/myShtuff/myShtuff.py
..works
我在构建程序包时出错了吗?在某个地方设置.cfg或者setup.py?在
谢谢!!!在
您的包中需要一个
__main__.py
,以及在中定义的入口点设置.py. 在请参见here和here,但简而言之,
__main__.py
在使用python -m
运行模块时,无论您的主要功能是什么,setuptools可以生成任何您想作为脚本运行的任意函数。你可以选择一种,也可以两者兼而有之。您的__main__.py
看起来像:在设置.py公司名称:
^{pr2}$这里,}该文件中函数的名称。在
myShtuffscript
是您想要调用的可执行文件,myShtuff
包的名称,stuff
包中文件的名称(myShtuff/stuff.py
),以及{您需要在
setup.py
中定义entry_point
,以便从命令行直接执行某些操作:更多细节可以在here找到。在
相关问题 更多 >
编程相关推荐