473,695 Members | 2,360 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

distutils, sdist and tests

How do I get distutils to include my testing module in just the "sdist"
distribution? My current call to setup() looks like::

distutils.core. setup(
...
py_modules=['argparse'],
)

If change this to::

distutils.core. setup(
...
py_modules=['argparse', 'test_argparse'],
)

then test_argparse.p y gets included in the source distribution, but it
also gets installed to site-packages like a normal module. I don't think
I want that. If I change it to::

distutils.core. setup(
...
py_modules=['argparse'],
scripts=['test_argparse. py'],
)

then test_argparse.p y gets included in the source distribution, but it
also gets installed in the Python scripts directory. I don't think I
want that either.

I want test_argparse.p y to be available in the source distribution, but
I don't think it should be included in the binary distributions.

Or am I just being to picky? Do folks normally include their tests in
the binary distributions?

STeVe
Jan 27 '07 #1
7 2465
Steven Bethard wrote:
How do I get distutils to include my testing module in just the "sdist"
distribution?
Use a MANIFEST.

http://docs.python.org/dist/source-dist.html
I want test_argparse.p y to be available in the source distribution, but
I don't think it should be included in the binary distributions.

Or am I just being to picky? Do folks normally include their tests in
the binary distributions?
Some do, but only when they are packages and can thus hide.the.tests .

--
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

Jan 27 '07 #2
Robert Kern wrote:
Steven Bethard wrote:
>How do I get distutils to include my testing module in just the "sdist"
distribution ?

Use a MANIFEST.

http://docs.python.org/dist/source-dist.html
>I want test_argparse.p y to be available in the source distribution, but
I don't think it should be included in the binary distributions.
Using a MANIFEST appears to do the same thing as putting "test_argpa rse"
into py_modules -- that is, it puts "test_argparse. py" into both "sdist"
and "bdist" distributions. In "bdist" distributions it gets installed to
the site-packages directory like any other module.

STeVe
Jan 28 '07 #3
Steven Bethard wrote:
Robert Kern wrote:
>Steven Bethard wrote:
>>How do I get distutils to include my testing module in just the "sdist"
distributio n?
Use a MANIFEST.

http://docs.python.org/dist/source-dist.html
Also, I just noted this tidbit:

"""If you don't supply an explicit list of files (or instructions on how to
generate one), the sdist command puts a minimal default set into the source
distribution:
...
* anything that looks like a test script: test/test*.py (currently, the
Distutils don't do anything with test scripts except include them in source
distributions, but in the future there will be a standard for testing Python
module distributions)
...
"""

So you can just stick test_argparse.p y into a test/ directory. Having tested
this, it appears to work (see below).
>>I want test_argparse.p y to be available in the source distribution, but
I don't think it should be included in the binary distributions.

Using a MANIFEST appears to do the same thing as putting "test_argpa rse"
into py_modules -- that is, it puts "test_argparse. py" into both "sdist"
and "bdist" distributions. In "bdist" distributions it gets installed to
the site-packages directory like any other module.
Are you sure that you don't have changes left over in your setup.py when you
tested that? Also check that you clear out your build/ directory every time. I
think the bdist_* commands tend to just copy whatever is in the appropriate
build/lib.*/ directory even though you've changed how those files should be
generated.

This is what I get with setup.py unmodified. The only thing I added was
MANIFEST.in and an empty test_argparse.p y file.

[argparse]$ ls
MANIFEST.in PKG-INFO README.txt argparse.py setup.py
test_argparse.p y
[argparse]$ cat MANIFEST.in
include PKG-INFO
include *.txt
include *.py
[argparse]$ python setup.py bdist_dumb
running bdist_dumb
running build
running build_py
creating build
creating build/lib
copying argparse.py -build/lib
installing to build/bdist.macosx-10.3-fat/dumb
running install
running install_lib
creating build/bdist.macosx-10.3-fat
creating build/bdist.macosx-10.3-fat/dumb
creating build/bdist.macosx-10.3-fat/dumb/Library
creating build/bdist.macosx-10.3-fat/dumb/Library/Frameworks
creating build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k
creating
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions
creating
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5
creating
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib
creating
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5
creating
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages
copying build/lib/argparse.py ->
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages
byte-compiling
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/argparse.py
to argparse.pyc
running install_egg_inf o
Writing
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/argparse-0.5.0-py2.5.egg-info
creating /Users/rkern/src/argparse/dist
tar -cf /Users/rkern/src/argparse/dist/argparse-0.5.0.macosx-10.3-fat.tar .
gzip -f9 /Users/rkern/src/argparse/dist/argparse-0.5.0.macosx-10.3-fat.tar
removing 'build/bdist.macosx-10.3-fat/dumb' (and everything under it)
[argparse]$ tar ztf dist/argparse-0.5.0.macosx-10.3-fat.tar.gz
../
../Library/
../Library/Frameworks/
../Library/Frameworks/Python.framewor k/
../Library/Frameworks/Python.framewor k/Versions/
../Library/Frameworks/Python.framewor k/Versions/2.5/
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/argparse-0.5.0-py2.5.egg-info
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/argparse.py
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/argparse.pyc
[argparse]$ python setup.py sdist
running sdist
reading manifest template 'MANIFEST.in'
writing manifest file 'MANIFEST'
creating argparse-0.5.0
making hard links in argparse-0.5.0...
hard linking PKG-INFO -argparse-0.5.0
hard linking README.txt -argparse-0.5.0
hard linking argparse.py -argparse-0.5.0
hard linking setup.py -argparse-0.5.0
hard linking test_argparse.p y -argparse-0.5.0
tar -cf dist/argparse-0.5.0.tar argparse-0.5.0
gzip -f9 dist/argparse-0.5.0.tar
removing 'argparse-0.5.0' (and everything under it)
[argparse]$ tar ztf dist/argparse-0.5.0.tar.gz
argparse-0.5.0/
argparse-0.5.0/argparse.py
argparse-0.5.0/PKG-INFO
argparse-0.5.0/README.txt
argparse-0.5.0/setup.py
argparse-0.5.0/test_argparse.p y
And this is what I get when I put test_argparse.p y into a test/ directory:

[argparse]$ ls
PKG-INFO README.txt argparse.py setup.py test
[argparse]$ python setup.py bdist_dumb
running bdist_dumb
running build
running build_py
creating build
creating build/lib
copying argparse.py -build/lib
installing to build/bdist.macosx-10.3-fat/dumb
running install
running install_lib
creating build/bdist.macosx-10.3-fat
creating build/bdist.macosx-10.3-fat/dumb
creating build/bdist.macosx-10.3-fat/dumb/Library
creating build/bdist.macosx-10.3-fat/dumb/Library/Frameworks
creating build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k
creating
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions
creating
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5
creating
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib
creating
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5
creating
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages
copying build/lib/argparse.py ->
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages
byte-compiling
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/argparse.py
to argparse.pyc
running install_egg_inf o
Writing
build/bdist.macosx-10.3-fat/dumb/Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/argparse-0.5.0-py2.5.egg-info
creating /Users/rkern/src/argparse/dist
tar -cf /Users/rkern/src/argparse/dist/argparse-0.5.0.macosx-10.3-fat.tar .
gzip -f9 /Users/rkern/src/argparse/dist/argparse-0.5.0.macosx-10.3-fat.tar
removing 'build/bdist.macosx-10.3-fat/dumb' (and everything under it)
[argparse]$ tar ztf dist/argparse-0.5.0.macosx-10.3-fat.tar.gz
../
../Library/
../Library/Frameworks/
../Library/Frameworks/Python.framewor k/
../Library/Frameworks/Python.framewor k/Versions/
../Library/Frameworks/Python.framewor k/Versions/2.5/
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/argparse-0.5.0-py2.5.egg-info
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/argparse.py
../Library/Frameworks/Python.framewor k/Versions/2.5/lib/python2.5/site-packages/argparse.pyc
[argparse]$ python setup.py sdist
running sdist
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default
file list)
writing manifest file 'MANIFEST'
creating argparse-0.5.0
creating argparse-0.5.0/test
making hard links in argparse-0.5.0...
hard linking README.txt -argparse-0.5.0
hard linking argparse.py -argparse-0.5.0
hard linking setup.py -argparse-0.5.0
hard linking test/test_argparse.p y -argparse-0.5.0/test
tar -cf dist/argparse-0.5.0.tar argparse-0.5.0
gzip -f9 dist/argparse-0.5.0.tar
removing 'argparse-0.5.0' (and everything under it)
[argparse]$ tar ztf dist/argparse-0.5.0.tar.gz
argparse-0.5.0/
argparse-0.5.0/argparse.py
argparse-0.5.0/PKG-INFO
argparse-0.5.0/README.txt
argparse-0.5.0/setup.py
argparse-0.5.0/test/
argparse-0.5.0/test/test_argparse.p y

--
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

Jan 28 '07 #4
Robert Kern wrote:
Steven Bethard wrote:
>Robert Kern wrote:
>>Steven Bethard wrote:
How do I get distutils to include my testing module in just the "sdist"
distribution ?
Use a MANIFEST.

http://docs.python.org/dist/source-dist.html

Also, I just noted this tidbit:

"""If you don't supply an explicit list of files (or instructions on how to
generate one), the sdist command puts a minimal default set into the source
distribution:
...
* anything that looks like a test script: test/test*.py (currently, the
Distutils don't do anything with test scripts except include them in source
distributions, but in the future there will be a standard for testing Python
module distributions)
...
"""

So you can just stick test_argparse.p y into a test/ directory. Having tested
this, it appears to work (see below).
Yeah, I was trying to avoid having to put it in a test/ directory. When
they're in the same directory, I can just run test_argparse.p y and it
tests the local one instead of the one I have installed in
site-packages. When it's in a test/ directory, running
test/test_argparse.p y tests the one in site-packages.

I did try putting test_argparse.p y in a test/ directory though, and it
doesn't seem to solve the problem -- test_argparse.p y gets put into
site-packages with the "bdist" command:
python setup.py sdist
running sdist
warning: sdist: manifest template 'MANIFEST.in' does not exist (using
default file list)
writing manifest file 'MANIFEST'
creating argparse-0.6.0
creating argparse-0.6.0\test
copying files to argparse-0.6.0...
copying README.txt -argparse-0.6.0
copying argparse.py -argparse-0.6.0
copying setup.py -argparse-0.6.0
copying test\test_argpa rse.py -argparse-0.6.0\test
creating 'dist\argparse-0.6.0.zip' and adding 'argparse-0.6.0' to it
adding 'argparse-0.6.0\argparse. py'
adding 'argparse-0.6.0\PKG-INFO'
adding 'argparse-0.6.0\README.tx t'
adding 'argparse-0.6.0\setup.py'
adding 'argparse-0.6.0\test\test _argparse.py'
removing 'argparse-0.6.0' (and everything under it)
python setup.py bdist_dumb
running bdist_dumb
running build
running build_py
installing to build\bdist.win 32\dumb
running install
running install_lib
creating build\bdist.win 32\dumb
creating build\bdist.win 32\dumb\Program Files
creating build\bdist.win 32\dumb\Program Files\Python
creating build\bdist.win 32\dumb\Program Files\Python\Li b
creating build\bdist.win 32\dumb\Program Files\Python\Li b\site-packages
copying build\lib\argpa rse.py -build\bdist.win 32\dumb\Program
Files\Python\Li b\site-packages
copying build\lib\test_ argparse.py -build\bdist.win 32\dumb\Program
Files\Python\Li b\site-packages
byte-compiling build\bdist.win 32\dumb\Program
Files\Python\Li b\site-packages\argpar se.py to argparse.pyc
byte-compiling build\bdist.win 32\dumb\Program
Files\Python\Li b\site-packages\test_a rgparse.py to test_argparse.p yc
running install_egg_inf o
Writing build\bdist.win 32\dumb\Program
Files\Python\Li b\site-packages\argpar se-0.6.0-py2.5.egg-info
creating 'dist\argparse-0.6.0.win32.zip ' and adding '.' to it
adding 'Program
Files\Python\Li b\site-packages\argpar se-0.6.0-py2.5.egg-info'
adding 'Program Files\Python\Li b\site-packages\argpar se.py'
adding 'Program Files\Python\Li b\site-packages\argpar se.pyc'
adding 'Program Files\Python\Li b\site-packages\test_a rgparse.py'
adding 'Program Files\Python\Li b\site-packages\test_a rgparse.pyc'
removing 'build\bdist.wi n32\dumb' (and everything under it)

>Using a MANIFEST appears to do the same thing as putting "test_argpa rse"
into py_modules -- that is, it puts "test_argparse. py" into both "sdist"
and "bdist" distributions. In "bdist" distributions it gets installed to
the site-packages directory like any other module.

Are you sure that you don't have changes left over in your setup.py when you
tested that?
Yep. (Though I still cleared everything out and tried it again.)
Here's what I got using an unmodified setup.py and the MANIFEST.in you
suggested. Note that the "bdist" version is putting test_argparse.p y
into site-packages.
type MANIFEST.in
include PKG-INFO
include *.txt
include *.py
python setup.py sdist
running sdist
reading manifest template 'MANIFEST.in'
warning: no files found matching 'PKG-INFO'
writing manifest file 'MANIFEST'
creating argparse-0.6.0
copying files to argparse-0.6.0...
copying LICENSE.txt -argparse-0.6.0
copying README.txt -argparse-0.6.0
copying argparse.py -argparse-0.6.0
copying setup.py -argparse-0.6.0
copying test_argparse.p y -argparse-0.6.0
creating 'dist\argparse-0.6.0.zip' and adding 'argparse-0.6.0' to it
adding 'argparse-0.6.0\argparse. py'
adding 'argparse-0.6.0\LICENSE.t xt'
adding 'argparse-0.6.0\PKG-INFO'
adding 'argparse-0.6.0\README.tx t'
adding 'argparse-0.6.0\setup.py'
adding 'argparse-0.6.0\test_argp arse.py'
removing 'argparse-0.6.0' (and everything under it)
python setup.py bdist_dumb
running bdist_dumb
running build
running build_py
installing to build\bdist.win 32\dumb
running install
running install_lib
creating build\bdist.win 32\dumb
creating build\bdist.win 32\dumb\Program Files
creating build\bdist.win 32\dumb\Program Files\Python
creating build\bdist.win 32\dumb\Program Files\Python\Li b
creating build\bdist.win 32\dumb\Program Files\Python\Li b\site-packages
copying build\lib\argpa rse.py -build\bdist.win 32\dumb\Program
Files\Python\Li b\site-packages
copying build\lib\test_ argparse.py -build\bdist.win 32\dumb\Program
Files\Python\Li b\site-packages
byte-compiling build\bdist.win 32\dumb\Program
Files\Python\Li b\site-packages\argpar se.py to argparse.pyc
byte-compiling build\bdist.win 32\dumb\Program
Files\Python\Li b\site-packages\test_a rgparse.py to test_argparse.p yc
running install_egg_inf o
Writing build\bdist.win 32\dumb\Program
Files\Python\Li b\site-packages\argpar se-0.6.0-py2.5.egg-info
creating 'dist\argparse-0.6.0.win32.zip ' and adding '.' to it
adding 'Program
Files\Python\Li b\site-packages\argpar se-0.6.0-py2.5.egg-info'
adding 'Program Files\Python\Li b\site-packages\argpar se.py'
adding 'Program Files\Python\Li b\site-packages\argpar se.pyc'
adding 'Program Files\Python\Li b\site-packages\test_a rgparse.py'
adding 'Program Files\Python\Li b\site-packages\test_a rgparse.pyc'
removing 'build\bdist.wi n32\dumb' (and everything under it)
STeVe
Jan 28 '07 #5
Steven Bethard wrote:
Robert Kern wrote:
>Are you sure that you don't have changes left over in your setup.py when you
tested that?

Yep. (Though I still cleared everything out and tried it again.)
Here's what I got using an unmodified setup.py and the MANIFEST.in you
suggested. Note that the "bdist" version is putting test_argparse.p y
into site-packages.
python setup.py bdist_dumb
running bdist_dumb
running build
running build_py
installing to build\bdist.win 32\dumb
running install
running install_lib
Are you sure that you removed the build/ directory? Because if it wasn't there,
distutils would say that it was creating one:

[argparse]$ python setup.py bdist_dumb
running bdist_dumb
running build
running build_py
creating build
creating build/lib
copying argparse.py -build/lib
installing to build/bdist.macosx-10.3-fat/dumb
running install
running install_lib

--
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

Jan 28 '07 #6
Robert Kern wrote:
Steven Bethard wrote:
>Robert Kern wrote:
>>Are you sure that you don't have changes left over in your setup.py when you
tested that?
Yep. (Though I still cleared everything out and tried it again.)
Here's what I got using an unmodified setup.py and the MANIFEST.in you
suggested. Note that the "bdist" version is putting test_argparse.p y
into site-packages.
> python setup.py bdist_dumb
running bdist_dumb
running build
running build_py
installing to build\bdist.win 32\dumb
running install
running install_lib

Are you sure that you removed the build/ directory?
Ahh thanks. Sorry I thought I was supposed to remove the old stuff from
dist/ not from build/. Yes, I get the same behavior as you do when I
remove build/. Sorry for the confusion!

Steve
Jan 28 '07 #7
Robert Kern wrote:
Steven Bethard wrote:
>How do I get distutils to include my testing module in just the "sdist"
distribution ?

Use a MANIFEST.
Thanks again to Robert Kern for all the help. For the record, in the
end all I did was add a MANIFEST.in file with the single line:

include test_argparse.p y

and "test_argparse. py" got included in the source distribution and left
out of the binary distributions.

It's a pity there's no way to specify something this simple in the
setup.py file, but since I'm not offering to maintain distutils, I guess
I don't really have a right to complain. ;-)

STeVe
Jan 28 '07 #8

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

Similar topics

5
7528
by: Christian Seberino | last post by:
I have a setup.py with something like this: import glob .... setup( ..., ..., data_files =
1
1430
by: Michael Stenner | last post by:
Is it possible to pre-process source code from distutils? I don't want to do anything too fancy. I just want to put the VERSION from setup.py (and maybe a date) into the module at sdist or build time (I haven't decided which of those would be cleaner). Anybody know of a clean way to do this? I don't mind writing an arbitrarily complex function to edit files or whatever. The problem is getting it called at the right time and knowing...
2
1701
by: David Fraser | last post by:
Hi Does anyone else find it annoying that the sdist command for distutils relies on MANIFEST.in and MANIFEST files? I would really like to be able to do everything in the setup script ; if I don't, the MANIFEST files get created automatically (with warnings) and any new scripts added are forgotten. Any alternative approaches to this?
3
1227
by: Martin Bless | last post by:
Q: How do I make my setup procedure safe? Q: How can I let users specify a different destination dir? By now I think I have some useful modules I'd like to share. In "my world" everything is centered around my name, therefor my stuff typically lives in or beneath a package "mb". To use a module - for example - I do: >>> from mb import mbsql
1
1717
by: Terry Hancock | last post by:
Some time ago, I got the idea that I wanted to build image resources from vector graphic originals, instead of marshalling hundreds of tiny little icon images by hand. I wrote "BuildImage" to do this for me, and so far, it works very well, so I'm trying to make it easier to use and available to more developers. There is a brief (and somewhat dated) tutorial explaining what BuildImage itself does at:
3
2111
by: Mike Meyer | last post by:
I've got a package that includes an extension that has a number of header files in the directory with the extension. They are specified as "depends = " in the Extension class. However, Distutils doesn't seem to do anything with them. If I do an sdist, the include files aren't added to the tarball. If I do a bdist_rpm, the source files get copied into the build directory and the build starts, but the header files aren't copied with the...
1
1331
by: timw.google | last post by:
Hi all. I have a package that uses other packages. I created a setup.py to use 'try:' and import to check if some required packages are installed. I have the tarballs and corresponding windows installers in my sdist distribution, so if I untar my source distribution and do 'python setup.py install', the script either untars the subpackages to a tmp directory and does an os.system('python setup.py install') (Linux), or...
0
1118
by: Saketh | last post by:
I'm having trouble getting the data_files argument of my setup.py to work with "python setup.py sdist" under Windows XP. Here is the data_files argument that I pass to setup(). data_files = , ) My setup.py is in the same directory as "preferences.xml". I use this setup.py for both py2exe and sdist. When I use it for py2exe, the data_files are properly copied to the target directory. However, when I
3
1729
by: Rick Muller | last post by:
I need some distutils help. I currently run a python library (PyQuante) that, until recently, had all of its modules in a single directory, called "PyQuante". The setup command in my setup.py module had a single "packages" line: packages = , I moved some of the routines into Basis and IO subdirectories of PyQuante, and amended the packages line to be:
0
8647
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8585
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9132
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9004
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8838
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7682
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6506
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4351
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
3024
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 we have to send another system

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.