我有一个设置入口点console_script
的包,我希望console_script
以Python3的形式运行python函数/脚本
我的包使用urllib.request
模块(Python3)。
运行命令(console_script
)会出现关于request
不是模块的python错误,这就是为什么我认为它以Python2的形式执行我的脚本..
__主__。PY
import urllib.request
...
...
urllib.request.urlretrieve(url, file_path, progress)
...
错误
ImportError: No module named request
python --version
Python 2.7.13
python3 --version
Python 3.5.4rc1
答案 0 :(得分:1)
console_script
脚本使用用于安装其软件包的任何版本的Python来执行,例如,如果您使用pip
,pip2
,python2 -m pip
安装了软件包,或者之类的,脚本将始终在Python 2下运行。要么卸载软件包并使用Python 3重新安装它,要么使用类似six的内容来确保您的脚本在两个版本下都能正常工作。
答案 1 :(得分:0)
通过从所有点子(pip
,pip2
,pip3
卸载我的包来解决此问题
然后使用sudo pip3
重新安装我的包(注意sudo
部分..)