473,507 Members | 2,379 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Odd files; just left behind?

I see a folder .python-eggs in my home directory on one of our servers with
various .so files

~/.python-eggs/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg-tmp/_mysql.so

are these just left behind from some install process?
--
Robin Becker

Sep 19 '07 #1
10 1654
Robin Becker <ro***@reportlab.comwrites:
I see a folder .python-eggs in my home directory on one of our servers
with various .so files

~/.python-eggs/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg-tmp/_mysql.so

are these just left behind from some install process?
Ah, it's about the resource extraction feature of setuptools. It's
possible for zipped eggs to contain resources that have to be
extracted to the filesystem. It puts them in the directory you saw
(or somewhere else -- see the docstring in my other reply).

http://peak.telecommunity.com/DevCen...rce-extraction
http://peak.telecommunity.com/DevCen...rce-extraction

John
Sep 19 '07 #2
John J. Lee wrote:
Robin Becker <ro***@reportlab.comwrites:
>I see a folder .python-eggs in my home directory on one of our servers
with various .so files

~/.python-eggs/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg-tmp/_mysql.so

are these just left behind from some install process?

Ah, it's about the resource extraction feature of setuptools. It's
possible for zipped eggs to contain resources that have to be
extracted to the filesystem. It puts them in the directory you saw
(or somewhere else -- see the docstring in my other reply).

http://peak.telecommunity.com/DevCen...rce-extraction
http://peak.telecommunity.com/DevCen...rce-extraction
......
Thanks John, but why not clean up?

--
Robin Becker
Sep 19 '07 #3
Robin Becker a écrit :
John J. Lee wrote:
>Robin Becker <ro***@reportlab.comwrites:
>>I see a folder .python-eggs in my home directory on one of our servers
with various .so files

~/.python-eggs/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg-tmp/_mysql.so
are these just left behind from some install process?


Ah, it's about the resource extraction feature of setuptools. It's
possible for zipped eggs to contain resources that have to be
extracted to the filesystem. It puts them in the directory you saw
(or somewhere else -- see the docstring in my other reply).

http://peak.telecommunity.com/DevCen...rce-extraction
http://peak.telecommunity.com/DevCen...rce-extraction

.....
Thanks John, but why not clean up?
Does it needs to be "cleaned up" ? .so files (shared libs) *need* to be
extracted from the egg to be usable. Where they are extracted is IIRC
configurable...
Sep 20 '07 #4
Bruno Desthuilliers wrote:
Robin Becker a écrit :
>John J. Lee wrote:
>>Robin Becker <ro***@reportlab.comwrites:

I see a folder .python-eggs in my home directory on one of our servers
with various .so files

~/.python-eggs/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg-tmp/_mysql.so
are these just left behind from some install process?

Ah, it's about the resource extraction feature of setuptools. It's
possible for zipped eggs to contain resources that have to be
extracted to the filesystem. It puts them in the directory you saw
(or somewhere else -- see the docstring in my other reply).

http://peak.telecommunity.com/DevCen...rce-extraction
http://peak.telecommunity.com/DevCen...rce-extraction
.....
Thanks John, but why not clean up?
Does it needs to be "cleaned up" ? .so files (shared libs) *need* to be
extracted from the egg to be usable. Where they are extracted is IIRC
configurable...
You're right! These files aren't temporary? It seems strange that the python
files live with their associated lib/site-packages and the .so files are
somewhere entirely different.

Python 2.3.6 (#1, Jun 7 2007, 10:44:52)
[GCC 3.4.4 [FreeBSD] 20050518] on freebsd6
Type "help", "copyright", "credits" or "license" for more information.
>>import MySQLdb
print MySQLdb.__file__
/myhome/PYTHON/lib/python2.3/site-packages/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg/MySQLdb/__init__.pyc
>>import _mysql
print _mysql.__file__
/myhome/.python-eggs/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg-tmp/_mysql.so
>>>
it would seem simpler to have the .so files inside the site-packages and there's
the question of why this folder has to be obfuscated (name starts with .). Even
if these files are "resources" why should they be assumed to belong to the user?
I could make the PYTHON folder world usable, but that won't help if I make all
other things in myhome private. Surely code resources belong in the same area as
the code that uses them.

Just another nonsense from the eggworld
--
Robin Becker

Sep 21 '07 #5
Robin Becker a écrit :
Bruno Desthuilliers wrote:
>Robin Becker a écrit :
>>John J. Lee wrote:

Robin Becker <ro***@reportlab.comwrites:

I see a folder .python-eggs in my home directory on one of our servers
with various .so files
>
~/.python-eggs/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg-tmp/_mysql.so
>
>
are these just left behind from some install process?

Ah, it's about the resource extraction feature of setuptools. It's
possible for zipped eggs to contain resources that have to be
extracted to the filesystem. It puts them in the directory you saw
(or somewhere else -- see the docstring in my other reply).

http://peak.telecommunity.com/DevCen...rce-extraction

http://peak.telecommunity.com/DevCen...rce-extraction

.....
Thanks John, but why not clean up?
Does it needs to be "cleaned up" ? .so files (shared libs) *need* to
be extracted from the egg to be usable. Where they are extracted is
IIRC configurable...
You're right! These files aren't temporary?

It seems strange that the
python files live with their associated lib/site-packages and the .so
files are somewhere entirely different.
IIRC, where .so files are extracted is configurable using
PYTHON_EGG_CACHE (cf the first link above).
Python 2.3.6 (#1, Jun 7 2007, 10:44:52)
[GCC 3.4.4 [FreeBSD] 20050518] on freebsd6
Type "help", "copyright", "credits" or "license" for more information.
>>import MySQLdb
>>print MySQLdb.__file__
/myhome/PYTHON/lib/python2.3/site-packages/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg/MySQLdb/__init__.pyc
>>import _mysql
>>print _mysql.__file__
/myhome/.python-eggs/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg-tmp/_mysql.so
>>>

it would seem simpler to have the .so files inside the site-packages and
there's the question of why this folder has to be obfuscated (name
starts with .). Even if these files are "resources" why should they be
assumed to belong to the user?
Notice that you did install your lib/python in /myhome, not in /usr[/local]

(snip)
Just another nonsense from the eggworld
Or just another example of not reading the FineManual(tm) ?
Sep 21 '07 #6
Bruno Desthuilliers wrote:
.........
> >>>

it would seem simpler to have the .so files inside the site-packages and
there's the question of why this folder has to be obfuscated (name
starts with .). Even if these files are "resources" why should they be
assumed to belong to the user?

Notice that you did install your lib/python in /myhome, not in /usr[/local]
yes, so should I then assume that the root installs will put all the .so files
in /usr/local/lib/.python-eggs?

In fact when I look at my root installed pythons they seem quite happy to put
the _mysql.so underneath site-packages. I suspect that if I just installed from
source I'd get that behaviour, but the egg stuff is different.
>
(snip)
>Just another nonsense from the eggworld

Or just another example of not reading the FineManual(tm) ?
well I didn't write the installer or the associated egg setup. The egg things
are supposed to do the right thing, but perhaps they're too difficult for the
egg layers.
--
Robin Becker

Sep 21 '07 #7
Robin Becker a écrit :
Bruno Desthuilliers wrote:
........
>> >>>

it would seem simpler to have the .so files inside the site-packages
and there's the question of why this folder has to be obfuscated
(name starts with .). Even if these files are "resources" why should
they be assumed to belong to the user?

Notice that you did install your lib/python in /myhome, not in
/usr[/local]

yes, so should I then assume that the root installs will put all the .so
files in /usr/local/lib/.python-eggs?

In fact when I look at my root installed pythons they seem quite happy
to put the _mysql.so underneath site-packages. I suspect that if I just
installed from source I'd get that behaviour, but the egg stuff is
different.
>>
(snip)
>>Just another nonsense from the eggworld

Or just another example of not reading the FineManual(tm) ?

well I didn't write the installer or the associated egg setup. The egg
things are supposed to do the right thing, but perhaps they're too
difficult for the egg layers.
Can't tell. So far, I've had no problem with eggs, so...
Sep 21 '07 #8
Robin Becker wrote:
Bruno Desthuilliers wrote:
>Robin Becker a écrit :
>>John J. Lee wrote:

Robin Becker <ro***@reportlab.comwrites:

I see a folder .python-eggs in my home directory on one of our servers
with various .so files
>
~/.python-eggs/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg-tmp/_mysql.so
>
>
are these just left behind from some install process?
Ah, it's about the resource extraction feature of setuptools. It's
possible for zipped eggs to contain resources that have to be
extracted to the filesystem. It puts them in the directory you saw
(or somewhere else -- see the docstring in my other reply).

http://peak.telecommunity.com/DevCen...rce-extraction
http://peak.telecommunity.com/DevCen...rce-extraction

.....
Thanks John, but why not clean up?
Does it needs to be "cleaned up" ? .so files (shared libs) *need* to be
extracted from the egg to be usable. Where they are extracted is IIRC
configurable...
You're right! These files aren't temporary?
They're a cache.
It seems strange that the python
files live with their associated lib/site-packages and the .so files are
somewhere entirely different.

Python 2.3.6 (#1, Jun 7 2007, 10:44:52)
[GCC 3.4.4 [FreeBSD] 20050518] on freebsd6
Type "help", "copyright", "credits" or "license" for more information.
>>import MySQLdb
>>print MySQLdb.__file__
/myhome/PYTHON/lib/python2.3/site-packages/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg/MySQLdb/__init__.pyc
>>import _mysql
>>print _mysql.__file__
/myhome/.python-eggs/MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg-tmp/_mysql.so
>>>

it would seem simpler to have the .so files inside the site-packages and there's
the question of why this folder has to be obfuscated (name starts with .). Even
if these files are "resources" why should they be assumed to belong to the user?
Because they are unpacked at runtime by the user that imported the module.
Usually, they won't have write access to site-packages.
I could make the PYTHON folder world usable, but that won't help if I make all
other things in myhome private. Surely code resources belong in the same area as
the code that uses them.
Well, you can't import a .so from a zip file. Thus they need to be placed
somewhere else. Don't worry about making ~/.python-eggs world readable. When
other users import the package, they will have the .so's unpacked, too.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco

Sep 21 '07 #9
Robin Becker <ro***@reportlab.comwrites:
Bruno Desthuilliers wrote:
........
>> >>>

it would seem simpler to have the .so files inside the
site-packages and there's the question of why this folder has to be
obfuscated (name starts with .). Even if these files are
"resources" why should they be assumed to belong to the user?

Notice that you did install your lib/python in /myhome, not in /usr[/local]

yes, so should I then assume that the root installs will put all the
.so files in /usr/local/lib/.python-eggs?
No no -- the extraction of these .so files happens at *runtime*, so it
has to write the files somewhere it has permission to write to. It's
like RL's zipapp resource extraction feature in fact, except the
resource extraction happens at runtime. See those web pages I pointed
you at before.

In fact when I look at my root installed pythons they seem quite happy
to put the _mysql.so underneath site-packages. I suspect that if I
just installed from source I'd get that behaviour, but the egg stuff
is different.
Not sure without all the details, but I suspect those are non-egg
installs.
John
Sep 22 '07 #10
Robin Becker wrote:
Robert Kern wrote:
.......
>They're a cache.

they're actually the files that get used by the installed extension in
this case (MySQLdb).
Yes. They are extracted from the zipfile at runtime and left there so they don't
have to be extracted again. That's why I called it a cache. I didn't mean
anything else by the term.
..........
>>it would seem simpler to have the .so files inside the site-packages and there's
the question of why this folder has to be obfuscated (name starts with .). Even
if these files are "resources" why should they be assumed to belong to the user?
Because they are unpacked at runtime by the user that imported the module.
Usually, they won't have write access to site-packages.

in this particular case the python being used was installed with a user
prefix eg /myhome/PYTHON so everything belongs to the user; extensions
installed by the same user can surely be installed in those folders.
Upon checking I find that the same installs which produced the
~/.python-eggs files also managed to put the eggs like
MySQL_python-1.2.2-py2.3-freebsd-6.1-SECURITY-i386.egg inside the
various site-packages directories.

I see no reason why the binary resources shouldn't be unpacked to
site-packages at install time.
Then do so: Use the -Z argument to easy_install such that it always unpacks the
zip file. If you don't, then the egg will be left zipped, and the resources
extracted at runtime. Zipped eggs have benefits over the unzipped eggs in that
they decrease the amount of import overhead of having many items in your sys.path.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco

Sep 23 '07 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
4567
by: Kiteman \(Canada\) | last post by:
A recent posting here discussed looking inside the .vbp project file. I noticed the following in one of my .vbp files (VB6.0 Learning Edition) Type=Exe ...
7
14733
by: Batista, Facundo | last post by:
People: I'm trying to convert my father from using COBOL to Python, :) One difficult thing we stuck into is how to read, from python, files written with COBOL. Do you know a module that...
51
3860
by: Harlan Messinger | last post by:
Are files referenced in LONGDESC attributes supposed to be pure text; can or should they have either block or inline HTML tags; can or should they be set up as a fully W3C compliant web page (with...
4
2197
by: Chris | last post by:
I work on a development server (Server A), and have a staging server (Server B), where updated ASP.Net files from Server A are sent to. I noticed that Server B will reflect changes made to .aspx...
7
2872
by: Alan Silver | last post by:
Hello, I am just looking at VWD and seeing what needs doing to take an existing site I've written by hand and importing it into VWD. I've already discovered that I need to rename my code-behind...
8
2036
by: vinesh | last post by:
I have sample Asp.Net Web Application project. Let me know how to keep the files related to this project (like the webform.aspx, WebForm1.aspx.vb, WebForm1.aspx.resx) in a separate folder within a...
2
2515
by: Trac Bannon | last post by:
I finally figured out how set up my VS deployment project to remove a previous version (I was not setting the productdoe or version number). While I have been testing, I notice that if I choose...
13
4845
by: anil.rita | last post by:
When the user chooses an AV file to play, based upon the type of file, I want to use the default installed media player to play it. I am wondering if this is a good way - any alternatives,...
20
4222
by: mike | last post by:
I help manage a large web site, one that has over 600 html pages... It's a reference site for ham radio folks and as an example, one page indexes over 1.8 gb of on-line PDF documents. The site...
0
7111
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7319
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7376
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7031
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7485
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5623
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5042
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3179
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1542
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.