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
900ee3a0
Commit
900ee3a0
authored
May 08, 2008
by
Brett Cannon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove the user module.
parent
0e87f0f7
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
2 additions
and
119 deletions
+2
-119
Doc/library/python.rst
Doc/library/python.rst
+0
-1
Doc/library/user.rst
Doc/library/user.rst
+0
-69
Lib/test/test_sundry.py
Lib/test/test_sundry.py
+0
-4
Lib/user.py
Lib/user.py
+0
-45
Misc/NEWS
Misc/NEWS
+2
-0
No files found.
Doc/library/python.rst
View file @
900ee3a0
...
@@ -24,5 +24,4 @@ overview:
...
@@ -24,5 +24,4 @@ overview:
gc.rst
gc.rst
inspect.rst
inspect.rst
site.rst
site.rst
user.rst
fpectl.rst
fpectl.rst
Doc/library/user.rst
deleted
100644 → 0
View file @
0e87f0f7
:mod:`user` --- User-specific configuration hook
================================================
.. module:: user
:synopsis: A standard way to reference user-specific modules.
.. index::
pair: .pythonrc.py; file
triple: user; configuration; file
As a policy, Python doesn't run user-specified code on startup of Python
programs. (Only interactive sessions execute the script specified in the
:envvar:`PYTHONSTARTUP` environment variable if it exists).
However, some programs or sites may find it convenient to allow users to have a
standard customization file, which gets run when a program requests it. This
module implements such a mechanism. A program that wishes to use the mechanism
must execute the statement ::
import user
.. index:: builtin: exec
The :mod:`user` module looks for a file :file:`.pythonrc.py` in the user's home
directory and if it can be opened, executes it (using :func:`exec`) in its
own (the module :mod:`user`'s) global namespace. Errors during this phase are
not caught; that's up to the program that imports the :mod:`user` module, if it
wishes. The home directory is assumed to be named by the :envvar:`HOME`
environment variable; if this is not set, the current directory is used.
The user's :file:`.pythonrc.py` could conceivably test for ``sys.version`` if it
wishes to do different things depending on the Python version.
A warning to users: be very conservative in what you place in your
:file:`.pythonrc.py` file. Since you don't know which programs will use it,
changing the behavior of standard modules or functions is generally not a good
idea.
A suggestion for programmers who wish to use this mechanism: a simple way to let
users specify options for your package is to have them define variables in their
:file:`.pythonrc.py` file that you test in your module. For example, a module
:mod:`spam` that has a verbosity level can look for a variable
``user.spam_verbose``, as follows::
import user
verbose = bool(getattr(user, "spam_verbose", 0))
(The three-argument form of :func:`getattr` is used in case the user has not
defined ``spam_verbose`` in their :file:`.pythonrc.py` file.)
Programs with extensive customization needs are better off reading a
program-specific customization file.
Programs with security or privacy concerns should *not* import this module; a
user can easily break into a program by placing arbitrary code in the
:file:`.pythonrc.py` file.
Modules for general use should *not* import this module; it may interfere with
the operation of the importing program.
.. seealso::
Module :mod:`site`
Site-wide customization mechanism.
Lib/test/test_sundry.py
View file @
900ee3a0
...
@@ -77,10 +77,6 @@ class TestUntestedModules(unittest.TestCase):
...
@@ -77,10 +77,6 @@ class TestUntestedModules(unittest.TestCase):
except
ImportError
:
except
ImportError
:
if
test_support
.
verbose
:
if
test_support
.
verbose
:
print
(
"skipping tty"
)
print
(
"skipping tty"
)
# Can't test the "user" module -- if the user has a ~/.pythonrc.py, it
# can screw up all sorts of things (esp. if it prints!).
#import user
import
webbrowser
import
webbrowser
import
xml
import
xml
...
...
Lib/user.py
deleted
100644 → 0
View file @
0e87f0f7
"""Hook to allow user-specified customization code to run.
As a policy, Python doesn't run user-specified code on startup of
Python programs (interactive sessions execute the script specified in
the PYTHONSTARTUP environment variable if it exists).
However, some programs or sites may find it convenient to allow users
to have a standard customization file, which gets run when a program
requests it. This module implements such a mechanism. A program
that wishes to use the mechanism must execute the statement
import user
The user module looks for a file .pythonrc.py in the user's home
directory and if it can be opened and read, exec()s it in its own global
namespace. Errors during this phase are not caught; that's up to the
program that imports the user module, if it wishes.
The user's .pythonrc.py could conceivably test for sys.version if it
wishes to do different things depending on the Python version.
"""
import
os
home
=
os
.
curdir
# Default
if
'HOME'
in
os
.
environ
:
home
=
os
.
environ
[
'HOME'
]
elif
os
.
name
==
'posix'
:
home
=
os
.
path
.
expanduser
(
"~/"
)
elif
os
.
name
==
'nt'
:
# Contributed by Jeff Bauer
if
'HOMEPATH'
in
os
.
environ
:
if
'HOMEDRIVE'
in
os
.
environ
:
home
=
os
.
environ
[
'HOMEDRIVE'
]
+
os
.
environ
[
'HOMEPATH'
]
else
:
home
=
os
.
environ
[
'HOMEPATH'
]
pythonrc
=
os
.
path
.
join
(
home
,
".pythonrc.py"
)
try
:
f
=
open
(
pythonrc
)
except
IOError
:
pass
else
:
f
.
close
()
exec
(
open
(
pythonrc
).
read
())
Misc/NEWS
View file @
900ee3a0
...
@@ -18,6 +18,8 @@ Extension Modules
...
@@ -18,6 +18,8 @@ Extension Modules
Library
Library
-------
-------
- The user module has been removed.
- The imputil module has been removed.
- The imputil module has been removed.
Build
Build
...
...
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