Comments (8)
from nuitka.
https://learn.microsoft.com/en-us/windows/wsl/case-sensitivity
from nuitka.
I removed one use of it the other day, where it checks for .ico
suffix, simply because it is code duplication with hasFileExtension
but I guess, that one does it too.
from nuitka.
Using os.path.normpath
does not allow for case insensitive approaches, so Python doesn't support it. I only tried with 3.10, but that what matters. So it seems we need our own function. The below code illustrates the main use of it. A new function that takes your setting into account is definitely doable, lets see if we find something existing.
def areSamePaths(path1, path2):
"""Decide if two paths the same.
Args:
path1: First path
path2: Second path
Returns:
Boolean value indicating if the two paths point to the
same path.
Notes:
Case differences ignored on platforms where that is the
norm, and with it normalized, and turned absolute paths, and
even short paths, it then becomes a mere string compare after that.
"""
path1 = os.path.abspath(os.path.normpath(path1))
path2 = os.path.abspath(os.path.normpath(path2))
if os.path.exists(path1) and os.path.exists(path2):
path1 = getExternalUsePath(path1)
path2 = getExternalUsePath(path2)
path1 = os.path.normcase(path1)
path2 = os.path.normcase(path2)
return path1 == path2
from nuitka.
I have replaced uses of assignments from os.path.normcase
that then can cause these filenames to be wrong, there were a few more things like that, and the code could be done better in all cases by using APIs that compare without modifying.
Generally it cannot be avoided. Comparisons cannot be made real, i.e. it's virtually impossible to detect if a folder has this attribute set in Python. The C API for that is very ugly, and even then, it's very unclear when it must be done or not, e.g. when searching for a module, when it's filename based and wrong in Python or not.
But I believe it might work better for you now.
from nuitka.
Thanks for your report, this is fixed on the factory branch, which is a development version under rapid development. You can try it out by going here: https://nuitka.net/doc/factory.html
Feedback if this is working is very welcome, just please do not share plans of doing it, but rather confirmations or denials of it working.
from nuitka.
These changes are now on develop, let me know if it works for you now.
from nuitka.
This is part of the stable release 2.0 that I just made.
from nuitka.
Related Issues (20)
- Invoking wintypes during packaging causes the program to fail to run. HOT 3
- One-file exe work well local side, work not good on network path. HOT 3
- Failed to initialize QMediaPlayer "Not available" HOT 1
- Failed to initialize QMediaPlayer "Not available" HOT 1
- One-file .exe can't run on server (network path) with "--disable-console". HOT 7
- How to obtain the directory where the executable file is located HOT 3
- I encountered a problem with file overwriting when using LTO=yes HOT 8
- The exe file is not copied for the command --include-data-dir HOT 2
- TypeError NoneType when importing PySide6 background worker, but working when merged into main script HOT 6
- PkgResourcesPlugin.py not support python3.8?? HOT 5
- Getting stuck at yt_dlp.extractor.lazy_extrac HOT 4
- Blender bpy package compiles but does not run HOT 6
- NameError when case/match dictionaries HOT 6
- Bug: No response with numpy 1.26.4, python 3.12.3, nuitka 2.3rc5 and `--standalone` HOT 2
- pyperf support HOT 3
- Working with setuptools 70.0.0 HOT 1
- crash in onefile.py: assert not os.path.exists(source_dir) HOT 5
- Why is Nuitka sometimes running slower (or not faster) than uncompiled python? HOT 9
- Hyperspy dynamic import fails when packaging an application that contains hyperspy HOT 7
- Actions: Onefile description mismatches default, needs to be easier to specify modes HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nuitka.