On Fri, Oct 5, 2018 at 12:48 AM Brian Zambrano <bri...@gmail.com> wrote:
>
> In a Python project with a setup.py file, you can actually do "pip install ." 
> Of course you still need internet access for dependencies, which I have 
> during the build.  This is similar to running "python setup.py install" in 
> the same directory.

curious where you found this innformatioon and what that recipe would
look like ?


>
> I've tried setting SRC_URI="saunders_backend" along with "import setuptools". 
>  That seems to run "python setup.py install" during the build phase, however 
> I get an error that setup.py cannot be found.
>
> Also, my setup.py contains a section for scripts, which results on my script 
> being placed into the a bin directory on the host when installed normally:
>
> scripts=['bin/server'],
>
> So, setup.py can do everything I need outside of bitbake/yocto...I just can't 
> figure out how to get it working during the bitbake build.
>
> On Thu, Oct 4, 2018 at 11:08 AM Shantanoo Desai <de...@uni-bremen.de> wrote:
>>
>> Hi Brian,
>>
>>
>>
>> It is confusing, I agree. But I think it is essential because I assume your 
>> Target is not connected to the Internet. When you do pip install <package> 
>> normally the package if fetched from the internet and then installed. In 
>> this case your app is local so need to have those files first built natively 
>> and then need to be sent to the appropriate folders for python to access 
>> them which I guess what setuptools does. Hence you set all the files in the 
>> SRC_URI.
>>
>>
>>
>> Do_install_append is only when you have binaries which could be used as 
>> command line utilities.
>>
>>
>> (But I could also be completely wrong, not a Yocto guru here)
>>
>>
>>
>> Cheers
>>
>>
>>
>> Shan
>>
>>
>>
>> Von: Brian Zambrano <bri...@gmail.com>
>> Gesendet: Donnerstag, 4. Oktober 2018 18:33
>> An: de...@uni-bremen.de
>> Cc: yocto@yoctoproject.org
>> Betreff: Re: [yocto] Installing Python app from source
>>
>>
>>
>> Thanks very much for this Shan. I have that book and was working through it 
>> yesterday, as a matter of fact.
>>
>>
>>
>> That part which is confusing to me in that recipe is that the SRC_URI points 
>> to every single file, there is a "inherit setuptools" line and also a 
>> do_install_append. I'm not sure how each of these are working together to 
>> get the application installed. I believe that the "inherit setuptools" will 
>> automatically run "python setup.py install", but when then is the source 
>> code manually copied over?
>>
>>
>>
>> BZ
>>
>>
>>
>> On Thu, Oct 4, 2018 at 2:13 AM Shantanoo Desai <de...@uni-bremen.de> wrote:
>>
>> Hi Brian,
>>
>>
>>
>> What you need in the .bb is a runtime-dependency. RDEPENDS_${PN} += “ 
>> ${PYTHON_PN}-flask ${PYTHON_PN}-jinja ${PYTHON_PN}-markdown” and so on. This 
>> will add these modules in the root-filesystem and will be available on the 
>> target.
>>
>>
>>
>> If you need some basic help with a python recipe, there is a git repository 
>> YoctoCookbook 
>> https://github.com/yoctocookbook/meta-custom/tree/master/recipes-python/python-helloworld
>>  to get you some idea.
>>
>>
>>
>> Please not I am in no ways a Yocto expert on recipe creations but for the 
>> past few weeks this is what I have been able to discover. Due to lack of 
>> examples on custom recipes in python this is the best I can help you with.
>>
>>
>>
>>
>>
>> Best Regards,
>>
>>
>>
>> Shan
>>
>>
>>
>>
>>
>>
>>
>> Von: yocto-boun...@yoctoproject.org <yocto-boun...@yoctoproject.org> Im 
>> Auftrag von Brian Zambrano
>> Gesendet: Donnerstag, 4. Oktober 2018 00:52
>> An: yocto@yoctoproject.org
>> Betreff: [yocto] Installing Python app from source
>>
>>
>>
>> I'm trying to install my own Python application from source, and having a 
>> hard time finding resources on how to accomplish it. I'm new to this 
>> ecosystem and am probably missing something fundamental.
>>
>> My recipe is structured like this...and my build is configure such that it 
>> does actually find it.
>>
>> ├── firmware-1.0
>> │   ├── saunders_backend
>> │   └── saunders_frontend
>>
>> └── firmware_1.0.bb
>>
>> My application code which is for now just a "hello world" flask application, 
>> is in saunders_backend. The setup.py file in there works as expected when I 
>> use it in on my host machine.
>>
>> ├── firmware-1.0
>> │   ├── saunders_backend/
>> │   │   ├── bin/
>> │   │   │   └── server
>> │   │   ├── MANIFEST.in
>> │   │   ├── requirements.txt
>> │   │   ├── saunders_apollo/
>> │   │   │   ├── config.py
>> │   │   │   ├── __init__.py
>> │   │   │   ├── models.py
>> │   │   │   ├── static/
>> │   │   │   ├── templates/
>> │   │   │   └── views.py
>> │   │   └── setup.py
>>
>> │   └── saunders_frontend/
>> └── firmware_1.0.bb
>>
>>
>> I've been hacking on the .bb files to get it to install this into the 
>> resulting image. I do have IMAGE_INSTALL_append = " firmware" in the 
>> top-level local.conf.
>>
>>
>>
>> My primary confusion is that I don't know what I should be using for the 
>> python application. do_install, do_install_append? What should SRC_UIR be? 
>> In effect is that I want the exact same behavior of "cd saunders_backend && 
>> pip install ." My setup.py file has install_requires with a list of all 
>> dependencies, which now is merely Flask.
>>
>>
>>
>> Pointers would be appreciated.
>>
>> BZ
>
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to