Π±ΡΠ΄ΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ: 0.16.0
python-ver: 3.5
ΠΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² future.moves
ΠΈΠ»ΠΈ future.backports
ΠΎΠ½ Π²ΡΠ·ΡΠ²Π°Π΅Ρ import_top_level_modules()
ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅ΡΡΡ test.py
, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ.
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° 264f9bcdf0, ΠΌΠ΅ΡΠΎΠ΄ import_top_level_modules()
Π±ΡΠ» Π²Π²Π΅Π΄Π΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Β«Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ² ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ travis-ci Π½Π° Py3Β» .
ΠΠ΅ Π»ΡΡΡΠ΅ Π»ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ?
ΠΏΡΠΎΡΡΠΎ ΡΠΊΡΡΠ΅Π½ ΡΡΠΈΠΌ.
https://bitbucket.org/pyglet/pyglet/issues/117/pyglet-produces-spurious-imports
ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ?
ΠΠ΅Π½Ρ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΡΡΠΈΠ»ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ apache_beam Ρ python3.
ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ:
echo "raise NotImplementedError('This test.py file should not be touched')" >> ./test.py
pip install apache_beam
python -c "import apache_beam as beam"
Π― Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ exclude_local_folder_imports
ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ· import_top_level_modules
Π³Π»Π°ΡΠΈΡ:
(This was need prior to v0.16.0 because the presence of a configparser
folder would otherwise have prevented setuptools from running on Py3. Maybe
it's not needed any more?)
ΠΡΠΎΠ΄Π΅ ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ°.
Π’Π°ΠΊΠΆΠ΅ ΡΠΊΡΡΠΈΠ» ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ΅ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° ΡΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ. Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ» Π±ΡΡΡΡΡΠΉ ΠΈ Π³ΡΡΠ·Π½ΡΠΉ test.py
Π΄Π»Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΌΠΎΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ, ΠΊΠ°ΠΊ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΠ°Π±ΠΎΡΠ°Π» ΠΈ ΡΠΈΡ
ΠΎ ΠΌΠ΅Π½ΡΠ» ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ» Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΡ
ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ Π½Π°Π΄ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ΅Π½Ρ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΡΡΠΈΠ»ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ apache_beam Ρ python3.
ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ:
Π― Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ
exclude_local_folder_imports
ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ·import_top_level_modules
Π³Π»Π°ΡΠΈΡ:ΠΡΠΎΠ΄Π΅ ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ°.