Add to Watchlist

PIP Internals

3 views

Citation of segment
Embed Code
Purchasing a DVD Cite video

Formal Metadata

Title PIP Internals
Title of Series EuroPython 2015
Part Number 41
Number of Parts 173
Author Fernandez, Xavier
License CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
DOI 10.5446/20227
Publisher EuroPython
Release Date 2015
Language English
Production Place Bilbao, Euskadi, Spain

Content Metadata

Subject Area Computer Science
Abstract Xavier Fernandez - PIP Internals pip is certainly one of the most used package in the Python ecosystem, but what actually happens when you pip install foo ? The talk will mainly focus on two aspects: - how does it perform an installation and resolve dependencies ? - how does pip find installation candidates and select the 'best' ?
Keywords EuroPython Conference
EP 2015
EuroPython 2015
Series
Annotations
Transcript
Loading...
few friends and you also will like you
said that you at that to you about the other people in terms so I guess you will appear on the user's most everything but I guess you don't really know what it's like to be its freedom and based on that that not ever since so 1st
of disclaimer people as anyone API it's not really 1 of the it's it's come on interface so every single going to talk to you about is only true false is version of paper and may change in the future but obviously we is its internal functions are completely from 1 version to the others but clearly you shouldn't rely on so function and I'm I'm about to show you uh and so on stop corresponds to the list of the versions 7 but 1 at
present you streams remain part because when you use the most corresponding to the installation of packages so 1st of those its reserves dependencies or doesn't uh others expect from initial and the Indian others it's select a package so 1st
of all there how would you tell people what you want to that there are Suite instrument so these are used directly busses and documents like in that my
packages and my bike kids that jungle all linked to find in our past Alija story our final your 2nd exam that in didn't think hidden so this is due to the yard demand that it be given the option with a vast uh this is the user name I mostly in development to get to changes a package you to test the packages and fairly would requirement finds that as in humans you should you suddenly knows reads freeways and there is now a new 1 since 7 that when you come the constraint that this short because what it does is sitting constraint constraint and like interactions but uh this is because the information so you have to as for it's a jungle to be summer and then this was constraint vise you against say what action you want to answer and so this is so so structures of the forms of this information in his work but good requirements that it just a big bag of prominent the parameters
you can of course ask people to win some several and at the same time so you can ask for several editable by cage uh also by k is given to the requirement of tools and also constraint you can compute the combined as much production this
so like say that so recurrent is the requirement that is just a big bag of flow requirement and from the conduction of the for 1 just so you should you uh the people of color and requirements on the odds of 4 newtons beginning with constraints so what those other
requirements those of the 1st things 1st it checks for environmental models that if you
don't know what environment marker also uh it's the other findings In the that is free for
5 but will be extended in the next like it's with the middle that are so form of 4 to 6 and today allow to specify and require dependencies for specific other environment so for example you can put in your
system for the wave files or something like that and it will only require a single for this reduction since you know you will get it for free in the next session so that you can do is this kind things that are a little bit more complex so this is an example from so will packages and this is this is the combination of other and they're in americas and expressive so it's a is is that the issue as the 2 inside with with signatures of between caring because it's required and on every platform but we know it will also inside the white XDG I don't understand markers are just something useful to avoid the logic in your set purifies uh and to with other you to as is a functional requirements in we devise so this was the 1st thing other than those of its take taking users of democracy was there we should add the requirement of the bargain on is in we check if there is the same requirement was only surprise that we would take any need of requirements so you can't ask jungle mention that
while national and and then uh asking to put the jungle version which are all at once and when it was rejected for except and this is important if the previous or current was a constraint and then it was always used as a constraint version so
if you have something like that so putting the jungle 1 that 8 that's really in contract 5 and then people to instead of once for spring it will use dimensions specifying constant fighting as this can be really useful through to fostered twins than the trees dimensional real conventional with smaller parties whatever was a packages that will let us and and
finally answers out currently people because of dependence is the issue of authority 1 dependency on requirements and a package of word processing package it would just in your it's so this is an
example image in you have a simple packages was instead a requirement on that date when so 1 such tool but you ask the plants that synthesize and metadata when the string what will be covered it is simpler than other agreements environments and other requirement that 1 between and when we we was dependencies and try to put the date went to it will be completely in so know you are the bag of
requirement that the consulates so them that is pre-preference that will assist say prepare 5 cells insulation so that we prepare files order and name requirements and then the requirements are editable reliance on when you're asking to some possible
fire the name requirements and after that is a newly formed ones so that is the dependencies of the previous requirements so what does
profession and to so 1st it would take results only in standard and if currently matched his own acquirement then it will look for it to find a link to corresponding to of Vincent jungle people to know where is financial incentive so system this is done in define requirements and I will talk more about this function in the last part and the Saracens dying interesting
point in this is so we caching since version 7 when he was set as a link fossil requirement it would try to check it was that's already briefed the we forces fighting forces linked and if so it will use it so giving a fast centered with that and back or to fight requirement I'm in the individual location and computed so running set of the QI again for to work together the requirement and computer is that eventually was extracted and that's the way it detects new the dependencies of
new requirements and put it back in the requirements so for
instance if you believe in some of the gate between finds its real requirement dictated by the likes and McCabe it will operate things foreign on so cordings of find requirement for each of history of 3 packages and in severe location it will and back as of the Fall incremental the problem ask suffocated by flexing thinking about what is that these the 6 of the key way to start with the 1st part is is the finds well we just adjusted its gyratory was in the so as have
already stated since people 7 you have a new with caching option that will walk giving to all postings and 1st you need to have that will packaging and selling your environment and then you shouldn't be using the load on at the option for if you use these answers to this so what happens
and and what it would do is is a people as forms of the world requirements and and back into be location and it was right for each of them to bridge the will obviously it would ignore oral requirement that are already which is good so we know already that the requirements are links pointing to regression controlled since there is no really really because it is it it could be subject to changes and of course if you want to check if you change your file you we don't want to use the last you for a debate on what is this thing is is is the user requirements prone to gender is so you don't want to which we do we look for something that would change and of course you can opt out of the set of seeds of gender was no binary options is a passing it on the z are diagonal also speaks specific market and are a specific case but that
and then if there will be a linguist successful it will replaces the previous link wizard of filing to the will find and unpack it into the location there was a rise just in your also as a figure of fun and keeps it producer and practice from that distribution so
now keep it as an observer requirements it needs in In during 1 of 4 it's a requirement there are
uh physically strange because is is as a requirement is that we so it's it's thoroughly impact on the lives are basically z impact the package as a way to be inside so Over the past 2 but it is moves of directori whiteboards applies into the such packages during training to be in some and solve some complexity was scripts and the parser that won't talk about and it will also Oracle find to users installation of of the package so this is also where file is quite simple then
this of course always you just need it you don't need any additional additional set of so what
are those of you in some set the but the way friends and so it will see it's using some kind of act to make sure that you are is after the even if you are a set of the 2 works with we is it with this teachers so is this is not exactly the common but that's the idea basically opening is the the PY compiling its and executing it with the the pool of available so that that those has already a monkey batch distances and most importantly the people against the against other quotas so that the way instead with so much many we try to recall the infant fires and single vessel exciting manager to worry about some
sensitive some set of tools like the issue of uh only remnants of the look you away status with the tourism you end up with an invocation of using status that we were surprised to and some words the it's a requirement which might not be what you want 1 if you directly of the few
items that we is with distances we end up with out any instant 5 to 16 meanings that people be able to understand package just some so always prepare prefer depends on that that we were in the creation of sets of sets of QI of trajectory provides a means to produce issues and therefore
it w requirements descriptive terms the same it would just run so the but are developed was huge and that
and so you know you we have this warrant bag of requirements for common sense and other people what it does is 1st in this an instance of and C. are rational in its and then try to new packages and successfully is good the genocide is committed but it is instead doesn't work between drawbacks and things that but it only goes east users frozen last in some package note the warning stuff In the issue of like at a and B and so it it someone requires the Gaussian 1 aviation students you stuff was favored they won't be 1 in your view and when you in deep inside the figure to the to really understand the 1 when he might that instead of the 1 on the inside of the to successfully and try to
understand it well but unfortunately it would you crush and into so it when will we're restored but the 1 and so you might end up with a 1 and B 2 so it's good to know that you know people informed by the water instead of just the last 1 and it
also tries to aspects of provided policy and we since the recent National prior to and some dependencies 1st
but there are no order guarantee and if you were needed so that you 2 runs it said that way of showing the package you need to have some requirement you should be using user requirements to use uh set of requires but
of course there are some drawbacks that is currently on most of the so
so people who doesn't know what's at the 1st and instance when you will be invoke as a that the way to fight the core sets of the persists find it fun we try to instances requirement was instead and is in some somewhat on opposite option you you get it of putting maybe it make the confidence this feature into the future
so now to the the biggest part which is when you people so for about are those people know which way this should we should be using because you might have several other by the several uh maybe a private by the idea maybe we ensembles of solutions so
you people as it is exposed to different versions formats or
locations under this magic events in fight requirements so give it the requirements and was you want an upgrade but we we wouldn't suffice instead that's the
way it does it is 1st going find actions that we basically find everything he could in some linear systems so just jungle it will find more an undirected suppression candidate and on my set was of private by TI and will always it finds more than 2 what was so it would just a few dozen right requirement you might have to do and it was a pretty option between we move over or a the end of the week it produces and then finally to itself by there's some so preferring so latest this 1 depending on the year was only down into a word or not it the truth that this 1 also across 1 so
the main point is is on the final regression that as the mainstream interest is an
index is excited the index is just so said to come from the knowledge of genetics exotics on next year was so findings and so the pencil so that there are In a way for the precision but not for a complicated and so indexes
expect something like schema semantics and will try to go to like its name to to respond available 5 but of course you
can give it all kind of of things on the people try all of them because there are basically and this always whatever and X is
and what it does is simply goes to babies in part by and that you didn't owned by the idea that will uh really redirect to the correct location
this is was modeled exist with order of simpler what you do is go to the given name packages acclaim it wouldn't fall to fall for and then it will just simply go to the simple index which found by quite big and really much of the links with normalized form and this is you don't want the 1st index because you can have multiple index and the first one we give it so the court then so you you go
from its environment through simple bite to so now you're
streaming sources of indexing signed links and different settings is which in the function suffocation so will lower tone tool released 5 location and to locations and what's is important it is therefore findings the you yeah
specific this for finding so that if you will give it a doctoral degree will get loads of the so this is way out of this uh just put on the will find you want in a directory and individual will find central you
the artifacts of findings option you can also do the documentation and also the other persons links there a lot of specific cases for your education that correspond to the index is uh and to
protect wizards to secure kitchen and you can add some trusted optional trusted lots of options and urges things
are passed testimony and the people basically take funds links and there are some specific I won't talk
about this and artisans as input in big filter on the bike interactions such related to
some of the links at and select or reject and
lots of course quantizer physically was your system supports number of formats remove some of some my course fires is already a specific case
of form and was are you asking to reject we use all of these false glycogen it will also take the productivity of the way try to extract aggression forms of finance and rejected the doesn't have 2nd thoughts on the by convention issue this is something that the new this and also take so everything about the internal or external files
finally if you come back the and
you see that you upstream sources fights your eyes find links and the links and
finally people who prefer always 5 sources indirect findings the neural links and finally depends and this is the the the web to find a rational
agents and as an example for that it's so you would you find of files from we also send that from the also fights for my private here but the ones in normal vector so it contains a thick agent and judgment thank you for your
personal few
here we use with did any questions yes I thank you have you let's send continental and could you speak about about and the difference is 1 the bunch cities have this is constant many many things seconds Internet of and which is yeah all could you explain what a wheel what is which is the winner how that it's a kind of new uh package format but was it's only a few years on the internet what to it's basically uh if you if you take the some of the services and is that it In this I think it is and in the text of the directorial because there's some insight into some packages and use it it has a so we had to insulate you just have to and and the output of a doctoral instance has packages so it provided much faster in some and it's the um you Ukaliq about constraints isn't it a bit dangerous to use constraints that when you there is no surprise that you want use constrained by accident so so it if you were to tell people win some specific reference yeah because you may not it will actually I don't see a real use where where you want to override and at latencies version I think you know when use case is uh because you know you know is that you don't want to use so the observation is someone might require a big but the truth is you you might then use their clear requirement 5 but the distinction is the UK's this case of the gays and that have added this future something from our current for OpenStack resolved uh lot of 4 comments they want to being all of them so is it just put everything in a constant fight and everything is in accord people inside the just give it the constrained by and that shows that everyone with we are the same the same action because when you gave a constant finds it won't in some everything that is inside between phonemes salad issue the underside requirements of the increment constrained finds are just to penalize aggression and the requirement that won't inside of like requirements takes the requirements vise it won't instead of using I hope have various questions why version versions of yourself chance so fast is it incompatible or it's just that our the kind of software is currently is working in the and move with doesn't but is a distinct maybe your referring to the fact that it went 0 when that 5 to 6 years but is just because there is a drop the 1 of the human race 1st think of success almost like 1 . 6 so it's semantic versioning currently or just I don't waste clearly those who those of us from 1 that's 5 to 6 is not something rationing uh know I don't think people developers are this the plant was taken some of the listening and I don't know thank you I consider that instable is to be the end of this say what we can do is those who wanted to lend you can go not make as much as a
Computer animation
Lecture/Conference
Term (mathematics)
Revision control
Computer animation
Line (geometry)
Correspondence (mathematics)
Sheaf (mathematics)
Electronic mailing list
Code
Interface (computing)
Streaming media
Interface (computing)
Mereology
Functional (mathematics)
Suite (music)
Group action
Logical constant
Constraint (mathematics)
Information
Software developer
Interactive television
Parameter (computer programming)
Density of states
Predictability
Goodness of fit
Mathematics
Computer animation
Computer configuration
Directed set
Data structure
Form (programming)
Dataflow
Logical constant
System call
Product (category theory)
Constraint (mathematics)
Multiplication sign
Computer file
Density of states
Predictability
Optical disc drive
Computer animation
Graph coloring
Directed set
Thermal conductivity
Latent heat
System call
Computer animation
Integrated development environment
Scientific modelling
Computer file
Integrated development environment
Density of states
Form (programming)
System call
Logical constant
Constraint (mathematics)
Computer file
Computer file
Bit
Set (mathematics)
Density of states
Electronic signature
Revision control
Wave
Sample (statistics)
Computer animation
Logic
Reduction of order
Integrated development environment
Computing platform
Physical system
Twin prime
Logical constant
System call
Design by contract
Density of states
Independence (probability theory)
Word processor
Spring (hydrology)
Computer animation
Hausdorff dimension
Authorization
Integrated development environment
Curve fitting
Medical imaging
System call
Computer animation
Integrated development environment
Computer file
String (computer science)
Cellular automaton
Order (biology)
Density of states
Independence (probability theory)
System call
Computer animation
Linker (computing)
Revision control
1 (number)
Density of states
Mereology
Discrete element method
Functional (mathematics)
Resultant
Physical system
Point (geometry)
Link (knot theory)
System call
Forcing (mathematics)
Set (mathematics)
Density of states
Computer
Revision control
Internet forum
Uniform resource locator
Computer animation
Lecture/Conference
Linker (computing)
Revision control
Link (knot theory)
Structural load
Temporal logic
Directory service
Instance (computer science)
Mereology
Independence (probability theory)
Flow separation
Uniform resource locator
Cache (computing)
Computer animation
Integrated development environment
Computer configuration
Logic gate
Link (knot theory)
Computer file
Linear regression
Diagonal
Gender
Point (geometry)
Distribution (mathematics)
Binary code
Set (mathematics)
Density of states
Uniform resource locator
Mathematics
Cache (computing)
Computer animation
Linker (computing)
Computer configuration
Figurate number
Form (programming)
State observer
Complex (psychology)
Computer file
Scripting language
Computer file
Directory service
Directory service
Density of states
Parsing
Wave packet
Computer animation
Sheaf (mathematics)
Scripting language
Whiteboard
Batch processing
Computer animation
Scripting language
Single-precision floating-point format
Computer file
Directory service
Set (mathematics)
Density of states
Distance
Data management
Single-precision floating-point format
Word
Arithmetic mean
Computer animation
Trajectory
Family of sets
Ext functor
Set (mathematics)
Density of states
Distance
Open set
Metropolitan area network
Computer animation
Term (mathematics)
View (database)
Compiler
Data Encryption Standard
Student's t-test
Instance (computer science)
Figurate number
Descriptive statistics
Order (biology)
Computer animation
Crash (computing)
Internet service provider
Water vapor
Density of states
Order (biology)
Computer animation
Order (biology)
Internet service provider
Density of states
Order (biology)
Musical ensemble
System call
Computer animation
Computer configuration
Confidence interval
Core dump
Internet service provider
Set (mathematics)
Instance (computer science)
Implementation
Mereology
Metropolitan area network
Digital filter
Group action
Graph (mathematics)
File format
Computer file
File format
Set (mathematics)
Event horizon
Maxima and minima
Revision control
Uniform resource locator
Word
Computer configuration
Computer animation
Computer configuration
Revision control
Right angle
Subtraction
Physical system
Point (geometry)
Subject indexing
Link (knot theory)
Computer animation
Subject indexing
Price index
Natural language
Density of states
Independence (probability theory)
Expected value
Computer animation
Computer file
Subject indexing
Price index
Electronic mailing list
Information systems
Density of states
Icosahedron
Semantics (computer science)
Subject indexing
Normal-form game
Uniform resource locator
Link (knot theory)
Computer animation
Linker (computing)
Order (biology)
Subject indexing
Price index
Density of states
Mereology
Form (programming)
Link (knot theory)
Source code
Price index
Set (mathematics)
Density of states
Functional (mathematics)
Independence (probability theory)
Subject indexing
Uniform resource locator
Computer animation
Integrated development environment
Linker (computing)
Subject indexing
Subtraction
Form (programming)
Link (knot theory)
Numbering scheme
Structural load
Computer file
Directory service
Price index
Directory service
Density of states
Degree (graph theory)
Subject indexing
Latent heat
Computer animation
Linker (computing)
Computer configuration
Personal digital assistant
Subject indexing
Meta element
Link (knot theory)
Real number
Home page
Parsing
Density of states
Icosahedron
Binary file
Port scanner
Computer configuration
Computer animation
Computer configuration
Linker (computing)
Revision control
Data type
Link (knot theory)
File format
Computer file
Home page
File format
Interactive television
Price index
Density of states
Number
Independence (probability theory)
Geometric quantization
Computer animation
Oval
Personal digital assistant
Subject indexing
output
Physical system
Digital filter
Order (biology)
Link (knot theory)
Product (category theory)
Computer animation
Computer file
Oval
Computer file
File format
Revision control
Binary code
Form (programming)
Metropolitan area network
Digital filter
Link (knot theory)
Computer file
Computer file
Source code
1 (number)
Price index
Discrete element method
Independence (probability theory)
Web 2.0
Order (biology)
Sic
Computer animation
Oval
Linker (computing)
Subject indexing
Normal (geometry)
Directed set
Logical constant
Metropolitan area network
State observer
Group action
Service (economics)
Constraint (mathematics)
File format
Software developer
Bit
Instance (computer science)
Drop (liquid)
Function (mathematics)
2 (number)
Revision control
Latent heat
Software
Internetworking
Personal digital assistant
Subtraction
Loading...
Feedback

Timings

  663 ms - page object

Version

AV-Portal 3.8.0 (dec2fe8b0ce2e718d55d6f23ab68f0b2424a1f3f)