mirror of
https://github.com/python/cpython.git
synced 2025-10-10 00:43:41 +00:00
Remove svn:mime-type (inexplicably set to a binary type),
and set svn:eol-style to native, on some text files.
This commit is contained in:
parent
1a57296450
commit
fe8a56680a
3 changed files with 294 additions and 294 deletions
|
@ -1,161 +1,161 @@
|
||||||
Example Python extension for Windows NT
|
Example Python extension for Windows NT
|
||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
This directory contains everything needed (except for the Python
|
This directory contains everything needed (except for the Python
|
||||||
distribution!) to build a Python extension module using Microsoft VC++
|
distribution!) to build a Python extension module using Microsoft VC++
|
||||||
("Developer Studio") version 7.1. It has been tested with VC++ 7.1 on
|
("Developer Studio") version 7.1. It has been tested with VC++ 7.1 on
|
||||||
Python 2.4. You can also use earlier versions of VC to build Python
|
Python 2.4. You can also use earlier versions of VC to build Python
|
||||||
extensions, but the sample VC project file (example.dsw in this directory)
|
extensions, but the sample VC project file (example.dsw in this directory)
|
||||||
is in VC 7.1 format. Notice that you need to use the same compiler version
|
is in VC 7.1 format. Notice that you need to use the same compiler version
|
||||||
that was used to build Python itself.
|
that was used to build Python itself.
|
||||||
|
|
||||||
COPY THIS DIRECTORY!
|
COPY THIS DIRECTORY!
|
||||||
--------------------
|
--------------------
|
||||||
This "example_nt" directory is a subdirectory of the PC directory, in order
|
This "example_nt" directory is a subdirectory of the PC directory, in order
|
||||||
to keep all the PC-specific files under the same directory. However, the
|
to keep all the PC-specific files under the same directory. However, the
|
||||||
example_nt directory can't actually be used from this location. You first
|
example_nt directory can't actually be used from this location. You first
|
||||||
need to copy or move it up one level, so that example_nt is a direct
|
need to copy or move it up one level, so that example_nt is a direct
|
||||||
sibling of the PC\ and Include\ directories. Do all your work from within
|
sibling of the PC\ and Include\ directories. Do all your work from within
|
||||||
this new location -- sorry, but you'll be sorry if you don't.
|
this new location -- sorry, but you'll be sorry if you don't.
|
||||||
|
|
||||||
OPEN THE PROJECT
|
OPEN THE PROJECT
|
||||||
----------------
|
----------------
|
||||||
From VC 7.1, use the
|
From VC 7.1, use the
|
||||||
File -> Open Solution...
|
File -> Open Solution...
|
||||||
dialog (*not* the "File -> Open..." dialog!). Navigate to and select the
|
dialog (*not* the "File -> Open..." dialog!). Navigate to and select the
|
||||||
file "example.sln", in the *copy* of the example_nt directory you made
|
file "example.sln", in the *copy* of the example_nt directory you made
|
||||||
above.
|
above.
|
||||||
Click Open.
|
Click Open.
|
||||||
|
|
||||||
BUILD THE EXAMPLE DLL
|
BUILD THE EXAMPLE DLL
|
||||||
---------------------
|
---------------------
|
||||||
In order to check that everything is set up right, try building:
|
In order to check that everything is set up right, try building:
|
||||||
|
|
||||||
1. Select a configuration. This step is optional. Do
|
1. Select a configuration. This step is optional. Do
|
||||||
Build -> Configuration Manager... -> Active Solution Configuration
|
Build -> Configuration Manager... -> Active Solution Configuration
|
||||||
and select either "Release" or "Debug".
|
and select either "Release" or "Debug".
|
||||||
If you skip this step, you'll use the Debug configuration by default.
|
If you skip this step, you'll use the Debug configuration by default.
|
||||||
|
|
||||||
2. Build the DLL. Do
|
2. Build the DLL. Do
|
||||||
Build -> Build Solution
|
Build -> Build Solution
|
||||||
This creates all intermediate and result files in a subdirectory which
|
This creates all intermediate and result files in a subdirectory which
|
||||||
is called either Debug or Release, depending on which configuration you
|
is called either Debug or Release, depending on which configuration you
|
||||||
picked in the preceding step.
|
picked in the preceding step.
|
||||||
|
|
||||||
TESTING THE DEBUG-MODE DLL
|
TESTING THE DEBUG-MODE DLL
|
||||||
--------------------------
|
--------------------------
|
||||||
Once the Debug build has succeeded, bring up a DOS box, and cd to
|
Once the Debug build has succeeded, bring up a DOS box, and cd to
|
||||||
example_nt\Debug. You should now be able to repeat the following session
|
example_nt\Debug. You should now be able to repeat the following session
|
||||||
("C>" is the DOS prompt, ">>>" is the Python prompt) (note that various
|
("C>" is the DOS prompt, ">>>" is the Python prompt) (note that various
|
||||||
debug output from Python may not match this screen dump exactly):
|
debug output from Python may not match this screen dump exactly):
|
||||||
|
|
||||||
C>..\..\PCbuild\python_d
|
C>..\..\PCbuild\python_d
|
||||||
Adding parser accelerators ...
|
Adding parser accelerators ...
|
||||||
Done.
|
Done.
|
||||||
Python 2.2c1+ (#28, Dec 14 2001, 18:06:39) [MSC 32 bit (Intel)] on win32
|
Python 2.2c1+ (#28, Dec 14 2001, 18:06:39) [MSC 32 bit (Intel)] on win32
|
||||||
Type "help", "copyright", "credits" or "license" for more information.
|
Type "help", "copyright", "credits" or "license" for more information.
|
||||||
>>> import example
|
>>> import example
|
||||||
[7052 refs]
|
[7052 refs]
|
||||||
>>> example.foo()
|
>>> example.foo()
|
||||||
Hello, world
|
Hello, world
|
||||||
[7052 refs]
|
[7052 refs]
|
||||||
>>>
|
>>>
|
||||||
|
|
||||||
TESTING THE RELEASE-MODE DLL
|
TESTING THE RELEASE-MODE DLL
|
||||||
----------------------------
|
----------------------------
|
||||||
Once the Release build has succeeded, bring up a DOS box, and cd to
|
Once the Release build has succeeded, bring up a DOS box, and cd to
|
||||||
example_nt\Release. You should now be able to repeat the following session
|
example_nt\Release. You should now be able to repeat the following session
|
||||||
("C>" is the DOS prompt, ">>>" is the Python prompt):
|
("C>" is the DOS prompt, ">>>" is the Python prompt):
|
||||||
|
|
||||||
C>..\..\PCbuild\python
|
C>..\..\PCbuild\python
|
||||||
Python 2.2c1+ (#28, Dec 14 2001, 18:06:04) [MSC 32 bit (Intel)] on win32
|
Python 2.2c1+ (#28, Dec 14 2001, 18:06:04) [MSC 32 bit (Intel)] on win32
|
||||||
Type "help", "copyright", "credits" or "license" for more information.
|
Type "help", "copyright", "credits" or "license" for more information.
|
||||||
>>> import example
|
>>> import example
|
||||||
>>> example.foo()
|
>>> example.foo()
|
||||||
Hello, world
|
Hello, world
|
||||||
>>>
|
>>>
|
||||||
|
|
||||||
Congratulations! You've successfully built your first Python extension
|
Congratulations! You've successfully built your first Python extension
|
||||||
module.
|
module.
|
||||||
|
|
||||||
CREATING YOUR OWN PROJECT
|
CREATING YOUR OWN PROJECT
|
||||||
-------------------------
|
-------------------------
|
||||||
Choose a name ("spam" is always a winner :-) and create a directory for
|
Choose a name ("spam" is always a winner :-) and create a directory for
|
||||||
it. Copy your C sources into it. Note that the module source file name
|
it. Copy your C sources into it. Note that the module source file name
|
||||||
does not necessarily have to match the module name, but the "init" function
|
does not necessarily have to match the module name, but the "init" function
|
||||||
name should match the module name -- i.e. you can only import a module
|
name should match the module name -- i.e. you can only import a module
|
||||||
"spam" if its init function is called "initspam()", and it should call
|
"spam" if its init function is called "initspam()", and it should call
|
||||||
Py_InitModule with the string "spam" as its first argument (use the minimal
|
Py_InitModule with the string "spam" as its first argument (use the minimal
|
||||||
example.c in this directory as a guide). By convention, it lives in a file
|
example.c in this directory as a guide). By convention, it lives in a file
|
||||||
called "spam.c" or "spammodule.c". The output file should be called
|
called "spam.c" or "spammodule.c". The output file should be called
|
||||||
"spam.dll" or "spam.pyd" (the latter is supported to avoid confusion with a
|
"spam.dll" or "spam.pyd" (the latter is supported to avoid confusion with a
|
||||||
system library "spam.dll" to which your module could be a Python interface)
|
system library "spam.dll" to which your module could be a Python interface)
|
||||||
in Release mode, or spam_d.dll or spam_d.pyd in Debug mode.
|
in Release mode, or spam_d.dll or spam_d.pyd in Debug mode.
|
||||||
|
|
||||||
Now your options are:
|
Now your options are:
|
||||||
|
|
||||||
1) Copy example.sln and example.vcproj, rename them to spam.*, and edit them
|
1) Copy example.sln and example.vcproj, rename them to spam.*, and edit them
|
||||||
by hand.
|
by hand.
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
2) Create a brand new project; instructions are below.
|
2) Create a brand new project; instructions are below.
|
||||||
|
|
||||||
In either case, copy example_nt\example.def to spam\spam.def, and edit the
|
In either case, copy example_nt\example.def to spam\spam.def, and edit the
|
||||||
new spam.def so its second line contains the string "initspam". If you
|
new spam.def so its second line contains the string "initspam". If you
|
||||||
created a new project yourself, add the file spam.def to the project now.
|
created a new project yourself, add the file spam.def to the project now.
|
||||||
(This is an annoying little file with only two lines. An alternative
|
(This is an annoying little file with only two lines. An alternative
|
||||||
approach is to forget about the .def file, and add the option
|
approach is to forget about the .def file, and add the option
|
||||||
"/export:initspam" somewhere to the Link settings, by manually editing the
|
"/export:initspam" somewhere to the Link settings, by manually editing the
|
||||||
"Project -> Properties -> Linker -> Command Line -> Additional Options"
|
"Project -> Properties -> Linker -> Command Line -> Additional Options"
|
||||||
box).
|
box).
|
||||||
|
|
||||||
You are now all set to build your extension, unless it requires other
|
You are now all set to build your extension, unless it requires other
|
||||||
external libraries, include files, etc. See Python's Extending and
|
external libraries, include files, etc. See Python's Extending and
|
||||||
Embedding manual for instructions on how to write an extension.
|
Embedding manual for instructions on how to write an extension.
|
||||||
|
|
||||||
|
|
||||||
CREATING A BRAND NEW PROJECT
|
CREATING A BRAND NEW PROJECT
|
||||||
----------------------------
|
----------------------------
|
||||||
Use the
|
Use the
|
||||||
File -> New -> Project...
|
File -> New -> Project...
|
||||||
dialog to create a new Project Workspace. Select "Visual C++ Projects/Win32/
|
dialog to create a new Project Workspace. Select "Visual C++ Projects/Win32/
|
||||||
Win32 Project", enter the name ("spam"), and make sure the "Location" is
|
Win32 Project", enter the name ("spam"), and make sure the "Location" is
|
||||||
set to parent of the spam directory you have created (which should be a direct
|
set to parent of the spam directory you have created (which should be a direct
|
||||||
subdirectory of the Python build tree, a sibling of Include and PC).
|
subdirectory of the Python build tree, a sibling of Include and PC).
|
||||||
In "Application Settings", select "DLL", and "Empty Project". Click OK.
|
In "Application Settings", select "DLL", and "Empty Project". Click OK.
|
||||||
|
|
||||||
You should now create the file spam.def as instructed in the previous
|
You should now create the file spam.def as instructed in the previous
|
||||||
section. Add the source files (including the .def file) to the project,
|
section. Add the source files (including the .def file) to the project,
|
||||||
using "Project", "Add Existing Item".
|
using "Project", "Add Existing Item".
|
||||||
|
|
||||||
Now open the
|
Now open the
|
||||||
Project -> spam properties...
|
Project -> spam properties...
|
||||||
dialog. (Impressive, isn't it? :-) You only need to change a few
|
dialog. (Impressive, isn't it? :-) You only need to change a few
|
||||||
settings. Make sure "All Configurations" is selected from the "Settings
|
settings. Make sure "All Configurations" is selected from the "Settings
|
||||||
for:" dropdown list. Select the "C/C++" tab. Choose the "General"
|
for:" dropdown list. Select the "C/C++" tab. Choose the "General"
|
||||||
category in the popup menu at the top. Type the following text in the
|
category in the popup menu at the top. Type the following text in the
|
||||||
entry box labeled "Addditional Include Directories:"
|
entry box labeled "Addditional Include Directories:"
|
||||||
|
|
||||||
..\Include,..\PC
|
..\Include,..\PC
|
||||||
|
|
||||||
Then, choose the "General" category in the "Linker" tab, and enter
|
Then, choose the "General" category in the "Linker" tab, and enter
|
||||||
..\PCbuild
|
..\PCbuild
|
||||||
in the "Additional library Directories" box.
|
in the "Additional library Directories" box.
|
||||||
|
|
||||||
Now you need to add some mode-specific settings (select "Accept"
|
Now you need to add some mode-specific settings (select "Accept"
|
||||||
when asked to confirm your changes):
|
when asked to confirm your changes):
|
||||||
|
|
||||||
Select "Release" in the "Configuration" dropdown list. Click the
|
Select "Release" in the "Configuration" dropdown list. Click the
|
||||||
"Link" tab, choose the "Input" Category, and append "python24.lib" to the
|
"Link" tab, choose the "Input" Category, and append "python24.lib" to the
|
||||||
list in the "Additional Dependencies" box.
|
list in the "Additional Dependencies" box.
|
||||||
|
|
||||||
Select "Debug" in the "Settings for:" dropdown list, and append
|
Select "Debug" in the "Settings for:" dropdown list, and append
|
||||||
"python24_d.lib" to the list in the Additional Dependencies" box. Then
|
"python24_d.lib" to the list in the Additional Dependencies" box. Then
|
||||||
click on the C/C++ tab, select "Code Generation", and select
|
click on the C/C++ tab, select "Code Generation", and select
|
||||||
"Multi-threaded Debug DLL" from the "Runtime library" dropdown list.
|
"Multi-threaded Debug DLL" from the "Runtime library" dropdown list.
|
||||||
|
|
||||||
Select "Release" again from the "Settings for:" dropdown list.
|
Select "Release" again from the "Settings for:" dropdown list.
|
||||||
Select "Multi-threaded DLL" from the "Use run-time library:" dropdown list.
|
Select "Multi-threaded DLL" from the "Use run-time library:" dropdown list.
|
||||||
|
|
||||||
That's all <wink>.
|
That's all <wink>.
|
||||||
|
|
202
PC/readme.txt
202
PC/readme.txt
|
@ -1,101 +1,101 @@
|
||||||
Welcome to the "PC" subdirectory of the Python distribution
|
Welcome to the "PC" subdirectory of the Python distribution
|
||||||
***********************************************************
|
***********************************************************
|
||||||
|
|
||||||
*** Note: the project files for MS VC++ 7.1 are now in the
|
*** Note: the project files for MS VC++ 7.1 are now in the
|
||||||
*** PCbuild directory. See the file readme.txt there for build
|
*** PCbuild directory. See the file readme.txt there for build
|
||||||
*** instructions. There is some information below that might
|
*** instructions. There is some information below that might
|
||||||
*** still be relevant.
|
*** still be relevant.
|
||||||
|
|
||||||
This "PC" subdirectory contains complete project files to make
|
This "PC" subdirectory contains complete project files to make
|
||||||
several older PC ports of Python, as well as all the PC-specific
|
several older PC ports of Python, as well as all the PC-specific
|
||||||
Python source files. It should be located in the root of the
|
Python source files. It should be located in the root of the
|
||||||
Python distribution, and there should be directories "Modules",
|
Python distribution, and there should be directories "Modules",
|
||||||
"Objects", "Python", etc. in the parent directory of this "PC"
|
"Objects", "Python", etc. in the parent directory of this "PC"
|
||||||
subdirectory. Be sure to read the documentation in the Python
|
subdirectory. Be sure to read the documentation in the Python
|
||||||
distribution.
|
distribution.
|
||||||
|
|
||||||
Python requires library files such as string.py to be available in
|
Python requires library files such as string.py to be available in
|
||||||
one or more library directories. The search path of libraries is
|
one or more library directories. The search path of libraries is
|
||||||
set up when Python starts. To see the current Python library search
|
set up when Python starts. To see the current Python library search
|
||||||
path, start Python and enter "import sys" and "print sys.path".
|
path, start Python and enter "import sys" and "print sys.path".
|
||||||
|
|
||||||
All PC ports use this scheme to try to set up a module search path:
|
All PC ports use this scheme to try to set up a module search path:
|
||||||
|
|
||||||
1) The script location; the current directory without script.
|
1) The script location; the current directory without script.
|
||||||
2) The PYTHONPATH variable, if set.
|
2) The PYTHONPATH variable, if set.
|
||||||
3) For Win32 platforms (NT/95), paths specified in the Registry.
|
3) For Win32 platforms (NT/95), paths specified in the Registry.
|
||||||
4) Default directories lib, lib/win, lib/test, lib/tkinter;
|
4) Default directories lib, lib/win, lib/test, lib/tkinter;
|
||||||
these are searched relative to the environment variable
|
these are searched relative to the environment variable
|
||||||
PYTHONHOME, if set, or relative to the executable and its
|
PYTHONHOME, if set, or relative to the executable and its
|
||||||
ancestors, if a landmark file (Lib/string.py) is found ,
|
ancestors, if a landmark file (Lib/string.py) is found ,
|
||||||
or the current directory (not useful).
|
or the current directory (not useful).
|
||||||
5) The directory containing the executable.
|
5) The directory containing the executable.
|
||||||
|
|
||||||
The best installation strategy is to put the Python executable (and
|
The best installation strategy is to put the Python executable (and
|
||||||
DLL, for Win32 platforms) in some convenient directory such as
|
DLL, for Win32 platforms) in some convenient directory such as
|
||||||
C:/python, and copy all library files and subdirectories (using XCOPY)
|
C:/python, and copy all library files and subdirectories (using XCOPY)
|
||||||
to C:/python/lib. Then you don't need to set PYTHONPATH. Otherwise,
|
to C:/python/lib. Then you don't need to set PYTHONPATH. Otherwise,
|
||||||
set the environment variable PYTHONPATH to your Python search path.
|
set the environment variable PYTHONPATH to your Python search path.
|
||||||
For example,
|
For example,
|
||||||
set PYTHONPATH=.;d:\python\lib;d:\python\lib\win;d:\python\lib\dos-8x3
|
set PYTHONPATH=.;d:\python\lib;d:\python\lib\win;d:\python\lib\dos-8x3
|
||||||
|
|
||||||
There are several add-in modules to build Python programs which use
|
There are several add-in modules to build Python programs which use
|
||||||
the native Windows operating environment. The ports here just make
|
the native Windows operating environment. The ports here just make
|
||||||
"QuickWin" and DOS Python versions which support a character-mode
|
"QuickWin" and DOS Python versions which support a character-mode
|
||||||
(console) environment. Look in www.python.org for Tkinter, PythonWin,
|
(console) environment. Look in www.python.org for Tkinter, PythonWin,
|
||||||
WPY and wxPython.
|
WPY and wxPython.
|
||||||
|
|
||||||
To make a Python port, start the Integrated Development Environment
|
To make a Python port, start the Integrated Development Environment
|
||||||
(IDE) of your compiler, and read in the native "project file"
|
(IDE) of your compiler, and read in the native "project file"
|
||||||
(or makefile) provided. This will enable you to change any source
|
(or makefile) provided. This will enable you to change any source
|
||||||
files or build settings so you can make custom builds.
|
files or build settings so you can make custom builds.
|
||||||
|
|
||||||
pyconfig.h An important configuration file specific to PC's.
|
pyconfig.h An important configuration file specific to PC's.
|
||||||
|
|
||||||
config.c The list of C modules to include in the Python PC
|
config.c The list of C modules to include in the Python PC
|
||||||
version. Manually edit this file to add or
|
version. Manually edit this file to add or
|
||||||
remove Python modules.
|
remove Python modules.
|
||||||
|
|
||||||
testpy.py A Python test program. Run this to test your
|
testpy.py A Python test program. Run this to test your
|
||||||
Python port. It should produce copious output,
|
Python port. It should produce copious output,
|
||||||
ending in a report on how many tests were OK, how many
|
ending in a report on how many tests were OK, how many
|
||||||
failed, and how many were skipped. Don't worry about
|
failed, and how many were skipped. Don't worry about
|
||||||
skipped tests (these test unavailable optional features).
|
skipped tests (these test unavailable optional features).
|
||||||
|
|
||||||
|
|
||||||
Additional files and subdirectories for 32-bit Windows
|
Additional files and subdirectories for 32-bit Windows
|
||||||
======================================================
|
======================================================
|
||||||
|
|
||||||
python_nt.rc Resource compiler input for python15.dll.
|
python_nt.rc Resource compiler input for python15.dll.
|
||||||
|
|
||||||
dl_nt.c, import_nt.c
|
dl_nt.c, import_nt.c
|
||||||
Additional sources used for 32-bit Windows features.
|
Additional sources used for 32-bit Windows features.
|
||||||
|
|
||||||
getpathp.c Default sys.path calculations (for all PC platforms).
|
getpathp.c Default sys.path calculations (for all PC platforms).
|
||||||
|
|
||||||
dllbase_nt.txt A (manually maintained) list of base addresses for
|
dllbase_nt.txt A (manually maintained) list of base addresses for
|
||||||
various DLLs, to avoid run-time relocation.
|
various DLLs, to avoid run-time relocation.
|
||||||
|
|
||||||
example_nt A subdirectory showing how to build an extension as a
|
example_nt A subdirectory showing how to build an extension as a
|
||||||
DLL.
|
DLL.
|
||||||
|
|
||||||
Visual Studio 6.0
|
Visual Studio 6.0
|
||||||
=================
|
=================
|
||||||
The subdirectory VC6 contains Visual Studio 6 project files. These
|
The subdirectory VC6 contains Visual Studio 6 project files. These
|
||||||
were originally located in the PCBuild directory, but are no longer
|
were originally located in the PCBuild directory, but are no longer
|
||||||
maintained.
|
maintained.
|
||||||
|
|
||||||
|
|
||||||
IBM VisualAge C/C++ for OS/2
|
IBM VisualAge C/C++ for OS/2
|
||||||
============================
|
============================
|
||||||
|
|
||||||
See os2vacpp/readme.txt. This platform is supported by Jeff Rush.
|
See os2vacpp/readme.txt. This platform is supported by Jeff Rush.
|
||||||
|
|
||||||
|
|
||||||
Note for Windows 3.x and DOS users
|
Note for Windows 3.x and DOS users
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
Neither Windows 3.x nor DOS is supported any more. The last Python
|
Neither Windows 3.x nor DOS is supported any more. The last Python
|
||||||
version that supported these was Python 1.5.2; the support files were
|
version that supported these was Python 1.5.2; the support files were
|
||||||
present in Python 2.0 but weren't updated, and it is not our intention
|
present in Python 2.0 but weren't updated, and it is not our intention
|
||||||
to support these platforms for Python 2.x.
|
to support these platforms for Python 2.x.
|
||||||
|
|
64
PC/testpy.py
64
PC/testpy.py
|
@ -1,32 +1,32 @@
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
# This is a test module for Python. It looks in the standard
|
# This is a test module for Python. It looks in the standard
|
||||||
# places for various *.py files. If these are moved, you must
|
# places for various *.py files. If these are moved, you must
|
||||||
# change this module too.
|
# change this module too.
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import string
|
import string
|
||||||
except:
|
except:
|
||||||
print """Could not import the standard "string" module.
|
print """Could not import the standard "string" module.
|
||||||
Please check your PYTHONPATH environment variable."""
|
Please check your PYTHONPATH environment variable."""
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import regex_syntax
|
import regex_syntax
|
||||||
except:
|
except:
|
||||||
print """Could not import the standard "regex_syntax" module. If this is
|
print """Could not import the standard "regex_syntax" module. If this is
|
||||||
a PC, you should add the dos_8x3 directory to your PYTHONPATH."""
|
a PC, you should add the dos_8x3 directory to your PYTHONPATH."""
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
for dir in sys.path:
|
for dir in sys.path:
|
||||||
file = os.path.join(dir, "string.py")
|
file = os.path.join(dir, "string.py")
|
||||||
if os.path.isfile(file):
|
if os.path.isfile(file):
|
||||||
test = os.path.join(dir, "test")
|
test = os.path.join(dir, "test")
|
||||||
if os.path.isdir(test):
|
if os.path.isdir(test):
|
||||||
# Add the "test" directory to PYTHONPATH.
|
# Add the "test" directory to PYTHONPATH.
|
||||||
sys.path = sys.path + [test]
|
sys.path = sys.path + [test]
|
||||||
|
|
||||||
import regrtest # Standard Python tester.
|
import regrtest # Standard Python tester.
|
||||||
regrtest.main()
|
regrtest.main()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue