[CentralOH] State of Python Deployment

Zak Kohler y2kbugger at gmail.com
Mon Apr 9 17:04:20 EDT 2018


I've found success in building my own conda packages.

The process is as follows.

meta.yaml for your requirements.
`conda build` to make the package based on the meta.yaml
network drive location + `conda index` to create a private intranet channel
constructor + construct.yaml to create a custom miniconda that
excludes all external channels and includes the intranet channel.
(Optionally included an internal application + deps within installer)

This allows us to audit the packages in the private channel as well as
upload our packages

So now this is possible:

$ conda install y2kbugger-coolest-app

and it will solve the deps and install.


Thanks for all the Help.
zak

PS: For many months I thought there would be an easier way where you
didn't have to create a channel or conda package, but to anyone
reading this: don't go down that road. Other methods are not robust or
scalable in the long term, at least on windows with non-pypi conda
dependencies.


> On Sun, Mar 11, 2018 at 10:26 AM, Erik Welch <erik.n.welch at gmail.com> wrote:
>
> conda constructor is used to build installers such as the Anaconda distribution, so this probably isn't what you're looking for.
>
>>
>> (mini)conda + conda env
>>       -  handles binary deps as well
>>       -  how to pull package deps from an intranet store?
>
>
> I believe what you're looking for is https://conda.io/docs/user-guide/tasks/create-custom-channels.html .  It is definitely possible to host conda packages internally and to do so on your own.  Some organizations do this without the help of Anaconda (the company I work for).  If you want an enterprise-ready solution and support, then your company can pay my company Anaconda (businesses cater to other businesses, and this is a pain point we have solved for many organizations).  If you want to go it alone, though, the requisite tools and technologies are freely available.
>
> I'm sure I'm biased, but it sounds to me like your use case is exactly why conda was created.  There has been lots of good advice on this thread, though, and Docker and pipenv are also good at what they do.
>
> Good luck!
> Erik


More information about the CentralOH mailing list