Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
e57c96ee
Commit
e57c96ee
authored
Aug 17, 1996
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
site customization hook...
parent
bf51afa0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
0 deletions
+47
-0
Lib/site.py
Lib/site.py
+47
-0
No files found.
Lib/site.py
0 → 100644
View file @
e57c96ee
"""Hook to allow easy access to site-specific modules.
Scripts or modules that need to use site-specific modules should place
import site
somewhere near the top of their code. This will append up to two
site-specific paths ($prefix/lib/site-python and
$exec_prefix/lib/site-python) to the module search path. ($prefix
and $exec_prefix are configuration parameters, and both default
to /usr/local; they are accessible in Python as sys.prefix and
sys.exec_prefix).
Because of Python's import semantics, it is okay for more than one
module to import site -- only the first one will execute the site
customizations. The directories are only appended to the path if they
exist and are not already on it.
Sites that wish to provide site-specific modules should place them in
one of the site specific directories; $prefix/lib/site-python is for
Python source code and $exec_prefix/lib/site-python is for dynamically
loadable extension modules (shared libraries).
After these path manipulations, an attempt is made to import a module
named sitecustomize, which can perform arbitrary site-specific
customizations. If this import fails with an ImportError exception,
it is ignored.
Note that for non-Unix systems, sys.prefix and sys.exec_prefix are
empty, and the path manipulations are skipped; however the import of
sitecustomize is still attempted.
XXX Any suggestions as to how to handle this for non-Unix systems???
"""
import
sys
,
os
for
prefix
in
sys
.
prefix
,
sys
.
exec_prefix
:
if
prefix
:
sitedir
=
os
.
path
.
join
(
prefix
,
os
.
path
.
join
(
"lib"
,
"site-python"
))
if
sitedir
not
in
sys
.
path
and
os
.
path
.
isdir
(
sitedir
):
sys
.
path
.
append
(
sitedir
)
# Add path component
try
:
import
sitecustomize
# Run arbitrary site specific code
except
ImportError
:
pass
# No site customization module
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment